我们通过标准 HTML STYLE 标签包含 CSS 文件。
然后我们需要 JavaScript 代码来访问 CSS 类和属性。
在 IE 和 Chrome 中一切正常,但在 Firefox 中它会抛出此异常:
未捕获的异常:安全错误(NS ERROR DOM SECURITY ERR)
这是 JavaScript 代码:
for (var i = 0; i != window.document.styleSheets.length; i++) {
rules = window.document.styleSheets.item(i);
if(rules.href.indexOf('someurl.com')){
break;
}
}
return rules.cssRules || rules.rules;
它在 IE、Chrome 和 Safari 中工作正常,但在 Firefox 和 Opera 中却不行。
有任何想法吗?
提前致谢
JavaScript 可以从任何域引用,但只能对执行它的文档的确切域进行更改。我所说的精确域是指从协议到第一个目录之前的所有内容都必须相同。
您不应该能够使用 JavaScript 访问不同的域。我不知道为什么这在 IE 或 Chrome 中有效,但它不应该这样。如果 CSS 的域与执行 JavaScript 的页面不同,您将收到安全错误。
这里真正的问题是:item 是什么属性?我没有看到您的代码中定义了该定义,也没有看到以前使用过该定义。为什么要尝试使用 JavaScript 更改样式表,而不是直接将样式更改直接应用于不会引发安全问题的 DOM?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)