当我检查网站时,
我从document.styleSheets[x].cssRules
看到了cssRules
但是,在该网站stackoverflow.com
中,当我使用Chrome浏览器进行检查时,看到了document.styleSheets
,但cssRules
为空。
这怎么可能呢?
最佳答案
那是因为样式表来自不同的域。某些浏览器(例如Chrome)通过抛出安全错误或将cssRules
和ownerRule
设置为来自其他域时将其设置为null来实施严格的跨域策略...在您的情况下,样式表来自CDN
MDN在CSSStyleSheet
文档中引用了以下内容...
在某些浏览器中,如果样式表是从其他域加载的,
调用cssRules会导致SecurityError。
https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet