当我检查网站时,
我从 document.styleSheets[x].cssRules
但是,对于这个网站 stackoverflow.com
,当我使用 Chrome 浏览器检查时,我看到了 document.styleSheets
,但是 cssRules
是空的.
这怎么可能?
最佳答案
那是因为样式表来自不同的域。某些浏览器(例如 Chrome)通过抛出安全错误或将 cssRules
和 ownerRule
来自不同域的内容设置为 null 来实现严格的跨域策略...你的情况样式表来自 CDN
MDN 在 CSSStyleSheet
文档中引用了以下内容...
In some browsers, if a stylesheet is loaded from a different domain, calling cssRules results in SecurityError.
https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet
关于css - document.styleSheets[x].cssRules 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46356349/