当我检查网站时,
我从document.styleSheets[x].cssRules看到了cssRules

css - document.styleSheets [x] .cssRules为空-LMLPHP

但是,在该网站stackoverflow.com中,当我使用Chrome浏览器进行检查时,看到了document.styleSheets,但cssRules为空。

css - document.styleSheets [x] .cssRules为空-LMLPHP

这怎么可能呢?

最佳答案

那是因为样式表来自不同的域。某些浏览器(例如Chrome)通过抛出安全错误或将cssRulesownerRule设置为来自其他域时将其设置为null来实施严格的跨域策略...在您的情况下,样式表来自CDN

MDN在CSSStyleSheet文档中引用了以下内容...


  在某些浏览器中,如果样式表是从其他域加载的,
  调用cssRules会导致SecurityError。


https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet

09-11 17:28