2012-01-03 1 views
1

해결해야 할 이상한 문제가 있습니다. 솔루션은 순수 JavaScript (프레임 워크가 허용되지 않음) 여야합니다. 여기 있습니다 : "페이지에서 사용 가능한 모든 스타일 시트를 표시하십시오".document.styleSheets [i] .disabled가 크롬에서 작동하지 않습니다.

저는 cssText 스타일 시트의 속성을 가지고 있지만, IE에서는 innerHtml이라는 여러 발행물로 인해 크롬을 사용합니다. 이는 내 목적에 완벽하게 부합합니다.

어쨌든, 여기에 모든 5 개 스타일을 위해 그것을 바로하지 않은 false 경고, 내 예를

<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

귀하의 언어와 사용자 이름 ... 충돌 조금;) – Blender

+0

크롬에 http://code.google.com/p/chromium/issues/detail?id=88310&hl=ko 버그가보고되었습니다. Google 크롬 소스를 사용하여 Chrome 브라우저를 구축합니다. –

+0

블렌더, 좋은 점, 헛소리 대신 "말도 안되는"것입니까? – 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되는 하나 개의 스타일이있다. 왜 그런지 잘 모르겠다. 나는 무엇인가 빨리봤을 것이다. 아마 <style> 태그이기 때문일 것이다. document.styleSheets[i].href along with the check for 수표를 추가 할 수 있습니다 .`

+0

고마워,하지만 아니야, 이건 내가하고 싶지 않은거야. 내 작업은 사용 가능한 스타일 시트의 규칙을 표시하는 것이지만, 중요한 것은 아닙니다. 내 문제는 .disabled가 항상 false를 반환한다는 것입니다. – Clergyman

관련 문제