Document: currentScript property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨July 2015⁩.

The Document.currentScript property returns the <script> element whose script is currently being processed and isn't a JavaScript module. (For modules use import.meta instead.)

It's important to note that this will not reference the <script> element if the code in the script is being called as a callback or event handler; it will only reference the element while it's initially being processed.

Value

A HTMLScriptElement or null.

Examples

This example checks to see if the script is being executed asynchronously:

js
if (document.currentScript.async) {
  console.log("Executing asynchronously");
} else {
  console.log("Executing synchronously");
}

View Live Examples

Specifications

Specification
HTML
# dom-document-currentscript-dev

Browser compatibility

See also