我试图让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;
};
在研究是否有其他人遇到过同样的问题时,我确实找到了posts,但没有人能找到解决方法。我一直试图把它排除几个小时,现在只是把头撞到桌子上。有没有人有可能的解决方案或事情要检查?我已经尝试将文件权限更改为777,但这似乎也无效。
答案 0 :(得分:0)
在客户端使用CORS时,较旧的浏览器存在局限性。
不完全&#34;错误&#34;来自他的javascript,不能被客户端纠正。
然而仍然可能很难,所以另一种选择是将所有CSS放在子域(或您自己的域)上。
了解CORS: