簡體   English   中英

權限被拒絕調用javascript函數

[英]Permission Denied calling javascript function

我試圖讓ie7-js與我的wordpress安裝一起工作。 在閱讀了這個庫后,似乎這是一個很好的解決方案,使我的網站更兼容IE的舊版本IE8。 嘗試並仍然支持這樣的舊瀏覽器似乎很奇怪,但我注意到每月有數百名訪問者使用與IE6一樣舊的瀏覽器訪問我們的網站。 我們的大多數用戶都是老年人,仍在使用Windows XP。 現在問題。

我正在使用來自modern.ie的 IE8運行Windows XP虛擬機的副本。我已按照庫代碼頁上有關如何包含該文件的說明進行操作。 我試圖讓具體的IE9.js文件工作。 當我在IE8中訪問該頁面時,我收到錯誤

permission denied: line 850 character 37

我已將其跟蹤到以下行:

for (var i = 0, imported; i < styleSheet.imports.length; i++)

從這個功能:

function getCSSText(styleSheet, path, media, level) {
      var cssText = "";
      if (!level) {
        media = toSimpleMedia(styleSheet.media);
        level = 0;
      }
      if (media === "none") {
        styleSheet.disabled = true;
        return "";
      }
      if (media === "all" || media === self.media) {
        // IE only allows importing style sheets three levels deep.
        // it will crash if you try to access a level below this
        try {
          var canAcess = !!styleSheet.cssText;
        } catch (exe) {}
        if (level < 3 && canAcess) {
          var hrefs = styleSheet.cssText.match(IMPORTS);
          // loop through imported style sheets
          for (var i = 0, imported; i < styleSheet.imports.length; i++) {
            var imported = styleSheet.imports[i];
            var href = styleSheet._href || styleSheet.href;
            imported._href = hrefs[i].replace(TRIM_IMPORTS, "");
            // call this function recursively to get all imported style sheets
            cssText += getCSSText(imported, getPath(href, path), media, level + 1);
          }
        }
        // retrieve inline style or load an external style sheet
        cssText += encode(styleSheet.href ? loadStyleSheet(styleSheet, path) : styleSheet.owningElement._cssText);
        cssText = parseMedia(cssText, self.media);
      }
      return cssText;
    };

在研究是否有其他人遇到過同樣的問題時,我確實找到了關於它的帖子 ,但沒有人有解決方案。 我一直試圖把它排除幾個小時,現在只是把頭撞到桌子上。 有沒有人有可能的解決方案或事情要檢查? 我已經嘗試將文件權限更改為777,但這似乎也不起作用。

在客戶端使用CORS時,較舊的瀏覽器存在局限性。

不是他的javascript中的“bug”,也無法由客戶端糾正。

最好的方法是使用具有CORS權限的CDN

然而,仍然可能很困難,所以另一種選擇是將所有CSS放在子域(或您自己的域)上。

閱讀CORS:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM