code_junkie

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

Nov 13th, 2011
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <script type="text/javascript" src="scripts.js"></script>
  6.  
  7. document.getElementsByTagName('head')[0].appendChild(v);
  8.  
  9. <script type="text/javascript" src="scripts.js"></script>
  10. loaded by scripts.js--><script type="text/javascript" src="new_script1.js"></script>
  11. loaded by scripts.js --><script type="text/javascript" src="new_script2.js"></script>
  12.  
  13. var scripts = document.getElementsByTagName( 'script' );
  14. var thisScriptTag = scripts[ scripts.length - 1 ];
  15.  
  16. //handle on-demand loading of javascripts
  17. makescript = function(url){
  18. var v = document.createElement('script');
  19. v.src=url;
  20. v.type='text/javascript';
  21.  
  22. //insertAfter. Get last <script> tag in DOM
  23. d=document.getElementsByTagName('script')[(document.getElementsByTagName('script').length-1)];
  24. d.parentNode.insertBefore( v, d.nextSibling );
  25. }
  26.  
  27. function findMe(tag, attr, file) {
  28. var tags = document.getElementsByTagName(tag);
  29. var r = new RegExp(file + '$');
  30. for (var i = 0;i < tags.length;i++) {
  31. if (r.exec(tags[i][attr])) {
  32. return tags[i][attr];
  33. }
  34. }
  35. };
  36. var element = findMe('script', 'src', 'scripts.js');
  37.  
  38. <script id="currentScript">
  39. var $this = document.getElementById("currentScript");
  40. $this.setAttribute("id","");
  41. //...
  42. </script>
Add Comment
Please, Sign In to add comment