How may I reference the script tag that loaded the currently-executing script?

How can I reference the script element that loaded the javascript that is currently running?

Here’s the situation. I have a “master” script being loaded high in the page, first thing under the HEAD tag.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="https://stackoverflow.com/questions/403967/scripts.js"></script>

There is a script in “https://stackoverflow.com/questions/403967/scripts.js” which needs to be able to do on-demand loading of other scripts. The normal method doesn’t quite work for me because I need to add new scripts without referencing the HEAD tag, because the HEAD element hasn’t finished rendering:

document.getElementsByTagName('head')[0].appendChild(v);

What I want to do is reference the script element that loaded the current script so that I can then append my new dynamically loaded script tags into the DOM after it.

<script type="text/javascript" src="https://stackoverflow.com/questions/403967/scripts.js"></script>
loaded by scripts.js--><script type="text/javascript" src="new_script1.js"></script>
loaded by scripts.js --><script type="text/javascript" src="new_script2.js"></script>

14 Answers
14

Leave a Comment