The scripting CSS media feature can be used to test whether scripting (such as JavaScript) is available.

Syntax

The scripting feature is specified as a keyword value chosen from the list below.

none
Scripting is completely unavailable on the current document.
initial-only
Scripting is enabled during the initial page load, but not afterwards.
enabled
Scripting is supported and active on the current document.

Example

HTML

<p class="script-none">You do not have scripting available. :-(</p>
<p class="script-initial-only">Your scripting is only enabled during the initial page load. Weird.</p>
<p class="script-enabled">You have scripting enabled! :-)</p>

CSS

p {
  color: lightgray;
}

@media (scripting: none) {
  .script-none {
     color: red;
  }
}

@media (scripting: initial-only) {
  .script-initial-only {
    color: red;
  }
}

@media (scripting: enabled) {
  .script-enabled {
    color: red;
  }
}

Result

Specifications

Specification Status Comment
Media Queries Level 4
The definition of 'scripting' in that specification.
Candidate Recommendation Deferred to Media Queries Level 5.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support No1 ? No2 No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support No1 No1 ? No2 No No ?

1. See bug 489957.

2. See bug 1166581.

Document Tags and Contributors

Contributors to this page: connorshea, mfluehr, Sebastianz, cvrebert, kscarfone
Last updated by: connorshea,