找到选择器中包含“body”的所有cssRules

时间:2014-01-08 02:28:21

标签: javascript css google-chrome firefox google-chrome-extension

我正在编写一个chrome扩展,非常精细地修改任何给定页面的CSS(将页面上的所有BODY内容插入到新的DIV中,然后稍微弄乱那个DIV)。为了在所有情况下准确地执行此操作,我需要找到引用其中“body”元素的所有CSS规则。例如,我需要抓住以下所有内容:

body {//CSS RULES!}

body, p, div, h2 {//CSS RULES/}

body.whatever {//CSS RULES!}

body#myBody {//CSS RULES!}

body>div i {//CSS RULES!}

body div.someDiv {//CSS RULES!}

html>body {//CSS RULES!}

html>body>div.someDiv {//CSS RULES!}

body>div>div>div>div#thisIsTerribleCSS {//CSS RULES!}

据我所知,上面的一些CSS行是绝对可怕并且违反了所有约定,但由于这个扩展不知道是谁编写了CSS或者它是如何符合标准的,所以它真的需要能够处理即使是最混乱的规则集。

但是,chrome and firefox don't allow javascript to parse the cssRules of Cross Domain stylesheets我遇到了问题。因此,如果网站的作者链接到某些外部资源而不修改其服务器的CORS设置,那些cssRules对javascript是不透明的。有没有办法访问它们并查看影响页面的所有cssRule?

0 个答案:

没有答案