Javascript 未捕获的DomeException:未能读取';cssRules';财产
我想知道为什么我的脚本可以在firefox上运行,而不能在google chrome上运行 JS: CSS: 这是chrome的错误代码 未捕获的DomeException:未能从中读取“cssRules”属性 “CSSStyleSheet”:无法访问规则Javascript 未捕获的DomeException:未能读取';cssRules';财产,javascript,google-chrome,Javascript,Google Chrome,我想知道为什么我的脚本可以在firefox上运行,而不能在google chrome上运行 JS: CSS: 这是chrome的错误代码 未捕获的DomeException:未能从中读取“cssRules”属性 “CSSStyleSheet”:无法访问规则 在最新的Chrome中,CORS安全规则也适用于样式表(类似于Iframe规则) 您可以加载和呈现它们,但不能通过javascript访问内容(如果从跨域加载) 如果您的CSS样式表来自与HTML相同的域/或包含在相同的HTML文件中,您将能
在最新的Chrome中,CORS安全规则也适用于样式表(类似于Iframe规则) 您可以加载和呈现它们,但不能通过javascript访问内容(如果从跨域加载) 如果您的CSS样式表来自与HTML相同的域/或包含在相同的HTML文件中,您将能够访问
document.styleSheets[elem].cssRules
,否则它将抛出错误
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules
跨域样式表
相同域样式表
您可以添加
crossorigin=“anonymous”
以防止出现错误
更多信息请点击此处:
这将创建一个,但服务器必须响应访问控制允许源:
或访问控制允许源:以查看如何向服务器添加CORS支持
有关CORS的更多信息,请阅读。列表中可能不存在您引用的数组索引的副本。请检查是否应该使用getComputedStyle
。我使用的外部CSS可能存在重复,并且没有上传到任何地方,为什么它不起作用??检查URL。。html和样式表域必须相同。。无论是本地主机还是文件系统。感谢您的回答@AtulSharma,您还可以建议访问内容的方法吗。@anchal20您不能在Chrome中从外部样式表修改类。不过,您可以复制需要修改主文件的类,或者在代码中重写它们,或者直接操作html元素。谢谢@AtulSharma的建议。看来这是唯一的解决办法嗯。。。这似乎不起作用,至少在美国是这样Chrome@DanielMiller,你可能是对的。虽然它解决了我的问题,但我想它依赖于服务器响应头。我更新了我的答案以反映这一点。
#timeline {
position: relative;
top: 15px;
left: 12.5%;
height: 5px;
background: #aaa;
border-radius: 2.5px;
cursor: pointer;
}
Uncaught DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet': Cannot access rules