2012-01-03 9 views
1

解決するにはかなり奇妙な問題があります。ソリューションは純粋なJavaScript(フレームワークは許可されていません)でなければなりません。ここでは、「ページで有効になっているすべてのスタイルシートを表示する」です。document.styleSheets [i] .disabledはクロムでは機能しません

IEのinnerHtmlという複数の問題のために私はクロムを使用していますが、それは私の目的のために完全に合うスタイルシートのcssTextプロパティです。とにかく

は、ここでの問題は、それが正しくないfalseに警告し、すべての5つのスタイルシートのために、ある

<html> 
    <head> 
     <style MEDIA="screen"> 
      h1 {color:blue; font-size:10pt; background-color:cyan} 
     </style> 
     <style MEDIA="screen" DISABLED="true"> 
      h4 {color:blue; font-size:10pt; background-color:cyan} 
     </style> 
     <style MEDIA="print"> 
      h1 {color:gray; font-size:12pt; font-weight: bold} 
      h2 {font-style:italic} 
     </style> 
     <style DISABLED="true"> 
      h2 {color:green; font-size:12pt} 
     </style> 
     <style> 
      h3 {font-style:italic} 
     </style> 

     <script language="Javascript"> 
      function displayActiveStyles() { 
       var container = document.getElementById('activeStyles');         
       var i; 
       for (i=0; i<document.styleSheets.length; i++) { 
        alert(document.styleSheets[i].disabled); 
       } 
      }     
     </script> 
    </head> 
    <body> 
     <h1>one</h1> 
     <h2>two</h2> 
     <h3>three</h3> 
     <input type="button" value="show" onclick="displayActiveStyles()" > 
     <hr /> 
     <div id="activeStyles"></div> 
    </body> 
</html> 

私の例です。誰かが私が間違いを犯しているかどうか、あるいはそれがクロムでできるかどうかについてのアイデアがあれば、教えてください。

+0

あなたの言語とユーザー名... conflict a little;) – Blender

+0

クロムに報告されているバグは、http://code.google.com/p/chromium/issues/detail?id=88310です。 Googleはクロムソースを使ってGoogle Chromeブラウザを構築しています –

+0

Blender、=)良い点は、間違いなく "ナンセンス"になりますか? – Clergyman

答えて

0

各スタイルシートのhrefをリストしたいと思っています。あなたのコードでは、各スタイルシートを調べ、それが無効なプロパティであることを警告します。彼らは有効になっているので、正しいかどうかを「偽」と警告しています。あなたが唯一の有効なもののhrefを取得したい場合は、あなたが何か行うことができます:ここでこれをしようと

var i; 
for (i = 0; i < document.styleSheets.length; i++) { 
    if (!document.styleSheets[i].disabled) { 
     alert(document.styleSheets[i].href); 
    } 
} 

を、そのHREFがnullされた1つのスタイルシートがあります。それはなぜか、私は何かをすばやく見つけたと確信していない、おそらくそれは<style>タグです。 document.styleSheets[i].href along with the check forのチェックを追加することができます。

+0

ありがとうございますが、これは私がやりたいことではありません。私の仕事は、有効になっているスタイルシートのルールを表示することですが、それは重要ではありません。私の問題は、.disabledは常にfalseを返します。 – Clergyman

関連する問題