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