5

根据这个站点externalcss3 styleSheet 对象的 CSS Rule 对象允许您访问样式表的各个规则。

所以如果我尝试在 stackoverflow 页面上运行这段代码(*),使用 javascript 控制台,我希望看到一些 CSS 规则写在这个页面http://cdn.sstatic.net/stackoverflow/all.css?v =04e0337352b3

(*)

var mysheet=document.styleSheets[0]
var myrules=mysheet.cssRules? mysheet.cssRules: mysheet.rules
for (i=0; i<myrules.length; i++) {
     console.log(myrules[i].selectorText.toLowerCase());
}

实际上,console.log 的结果与我所期望的有所不同:

object[type="application/x-shockwave-flash"], object[type="application/futuresplash"], object[data*=".swf"], object[src*=".swf"], embed[type="application/x-shockwave-flash"], embed[type="application/futuresplash"], embed[src*=".swf"]

我错过了什么?对不起我的无知和你的时间。

4

1 回答 1

5

如果它们来自同一个域,您似乎只能访问 CSS 文件中的规则。

阅读本帖:Reading the rules of a cross domain CSS file in DOM

于 2012-05-17T18:50:57.640 回答