HTMLScriptElement: noModule property

The noModule property of the HTMLScriptElement interface is a boolean value that indicates whether the script should be executed in browsers that support ES modules. Practically, this can be used to serve fallback scripts to older browsers that do not support JavaScript modules.

It reflects the nomodule attribute of the <script> element.

Value

A boolean, true means that the script should not be executed in browsers that support ES modules, false otherwise.

Examples

html
<script id="el" nomodule>
  // If the browser supports JavaScript modules, the following script will not be executed.
  console.log("The browser does not support JavaScript modules");
</script>
js
const el = document.getElementById("el");
console.log(el.noModule); // Output: true

Specifications

Specification
HTML
# dom-script-nomodule

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
noModule

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support