JavaScript는 JavaScript가 활성화되어있는 경우에만 작동하므로 JavaScript를 사용하는 방법에 관계없이 JavaScript가 활성화 된 경우에만 항상 작동하므로 테스트 할 필요가 없습니다.
말한 갖는
, 당신은이 HTML5 Boilerplate에서 수행하는 방법을 볼 수 있습니다
<html class="no-js" lang="en">
... the rest of the page
</html>
<html>
태그에 적용되는 no-js
클래스를 사용하여.이 클래스는 나중에 자바 스크립트를 사용하여 제거되고 js
클래스는 당신이 당신의 CSS와 HTML에서 사용할 수있는 둘, 추가됩니다
<p class="js">This is displayed if JavaScript is enabled</p>
<p class="no-js">This is displayed if JavaScript is disabled</p>
또는 CSS에서
가 : 당신이
Modernizr을
.no-js #someWidget { display: none; }
.js #someFallback { display: none; }
를 사용하는 경우 그것은 이미 당신을 위해 그 클래스를 변경됩니다,하지만 당신은 다음하지 않더라도 당신이해야 할 같은 것입니다 :
document.documentElement.className =
document.documentElement.className.replace(/\bno-js\b/,'js');
그것은 간단하고 우아한 솔루션 모든 y는의가 귀하의 스타일과 마크 업에서 CSS 클래스가 걱정됩니다.
출처
2011-03-10 10:23:48
rsp
dom이 완전히로드되기 전에 Akaruns 솔루션이 약간의 깜박임을 유발할 수 있으므로 가장 잘 작동합니다. – ullmark
예, 그것은 당신이 가진 "숨겨진 블록"의 양에 달려 있습니다! – Akarun
@Akarun : 그렇게 생각하지 않습니다. 클래스를 body에 추가하면 셀렉터를 사용하여 구조적 선택 자나 숨겨진 내용에 클래스를 추가하여 쉽게 숨길 수 있습니다 (예 : 명확성을 위해). –