【发布时间】:2014-10-04 12:44:13
【问题描述】:
我正在尝试使 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,但这似乎也不起作用。
【问题讨论】:
-
您可能已经想到了这么多,但这似乎是访问某些 *.css 文件的权限问题。您的页面 URL 的样式是什么,您导入的样式表的 URL 是什么? (不打算点击它,但 URL 的一些大差异可能会导致问题)
-
文件夹权限不会直接影响前端脚本的性能,所以这没有意义。也许你的问题是烫发“框架”或“网址”。
-
我注意到头部中的一些 URL 是使用绝对路径调用的,而其他的则包含一个 href 链接,例如
href='//example.com/wp-content/themes/vivacity/assets/css/stylesheet.css'请注意http:已被省略 -
我刚刚在这里读到一篇文章,说某些版本的 IE 会下载两次样式表。我想知道这是否会导致问题?我需要尝试追踪这些 css 文件在代码中被调用的位置以添加协议。这可能需要一段时间.....stevesouders.com/blog/2010/02/10/…
-
@GuilhermeNascimento 我已将它们设为绝对网址。我注意到我从谷歌中提取了一些样式表。不确定这是否会影响任何事情。
标签: javascript css internet-explorer internet-explorer-8