我正在尝试使用JavaScript获取所有CSS规则。 在某些页面上我成功了,在某些方面我没有成功。
例如,在StackOverflow中,我正在使用:
console.log(
document.styleSheets[1].href,'rules',
document.styleSheets[1].cssRules,'Should be css rules, and not null'
)
这就是我得到的:
http://cdn.sstatic.net/stackoverflow/all.css?v=f7d3e9ff74be rules null Should be css rules, and not null
对于其他一些网站来说,它运作良好,但有时却不行。
例如在github.com中,这就是我得到的:
https://assets-cdn.github.com/assets/github2/index-87247f16e6450ef54cb0eda3f8f1484e33a3f18c7a7d3df1f76f67cba36a8d6d.css CSSRuleList {0: CSSStyleRule, 1: CSSStyleRule, 2: CSSStyleRule, 3: CSSStyleRule, 4: CSSStyleRule, 5: CSSStyleRule, 6: CSSStyleRule, 7: CSSStyleRule, 8: CSSStyleRule, 9: CSSStyleRule, 10: CSSStyleRule, 11: CSSStyleRule, 12: CSSStyleRule, 13: CSSStyleRule, 14: CSSStyleRule, 15: CSSStyleRule, 16: CSSStyleRule, 17: CSSStyleRule, 18: CSSStyleRule, 19: CSSStyleRule, 20: CSSStyleRule, 21: CSSStyleRule, 22:
我该怎么办?
答案 0 :(得分:1)
document.styleSheets
包含<style type="text/css"></style>
以及<link rel="stylesheet" type="text/css" href="style.css">
,因此您不会从第一个获得href。我会检查这些样式是否也不是空白,以防它们没有cssRules。