Join MDN and developers like you at Mozilla's View Source conference, November 2-4 in Portland, Oregon. Learn more at

Returns the <script> element whose script is currently being processed.


var curScriptElement = document.currentScript;


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

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

View Live Examples


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.


Specification Status Comment
WHATWG HTML Living Standard
The definition of 'Document.currentScript' in that specification.
Living Standard Initial definition

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 29 4.0 (2.0) Not supported 16 8
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 4.4 (Yes) (Yes) ? ? 8

See also

Document Tags and Contributors

Last updated by: teoli,
Hide Sidebar