2009-03-13 13 views
0

がロードされたウェブページ(おそらくいくつかの)CSSファイル、およびインラインスタイルを考えるとCSSのすべてを抽出するためにjQueryの(または類似)を使用する方法:を使用して、

<link rel="stylesheet" type="text/css" href="some_file.css" /> 
<style type="text/css"> /* some css rules */ </style> 
<link rel="stylesheet" type="text/css" href="some_other_file.css" /> 
<style type="text/css"> /* some other css rules */ </style>  
<!-- etc --> 

どのようにでしょう実際のネットCSSルールをすべて抽出するための関数(おそらくjQueryを使って)を書きますか?

+0

これを何に抽出しますか?文字列に.cssファイルの内容? –

+0

彼はファイヤーバグのような何かを意味すると思います – lock

+0

カスケードスタイルまたは計算スタイル? –

答えて

4

私はあなたがこれをどうしたいのかわからないが、これはあなたが始める必要があります:あなたはこれを呼び出すと

function getStyles() { 
    if(!document.styleSheets) return false; // return false if browser sucks 
    var rules = new Array(); 
    for (var i=0; i < document.styleSheets.length; i++) { 
     var x = 0; 
     styleSheet = document.styleSheets[i]; 
     if(styleSheet.cssText) { // if this is IE, get the rules directly 
      rules.push(styleSheet.cssText); 
     } else { 
      // otherwise get them individually 
      do { 
       cssRule = styleSheet.cssRules[x]; 
       if(cssRule) rules.push(cssRule.cssText); 
       x++; 
      } while (cssRule); 
     } 
    } 
    return rules; 
} 

それはすべてのルールの配列を返します。 Firefox、IEでテストされています。

関連する問題