说我有一个javascript文件的引用:
<script type="text/javascript" src="http://blah.com/js/count.js"></script>
包含count.js的内容:
alert("This script is loading from:" + url);
如何从count.js内部识别应该进入url变量的值?
答案 0 :(得分:1)
当执行外部脚本时,其SCRIPT
元素将是页面中的最后一个元素,即document.scripts[document.scripts.length-1]
。
所以,如果SCRIPT
元素是:
<script type="text/javascript" src="http://blah.com/js/count.js"></script>
count.js
文件内容为:
alert("This script is loading from:" + document.scripts[document.scripts.length-1].src);
它会显示:
This script is loading from: http://blah.com/js/count.js
请注意,HTML5为SCRIPT
元素引入了async
attribute,这可能会使上述方法无效。在异步的情况下,获取关联的SCRIPT
元素的唯一方法是使用Gecko(Firefox)document.currentScript
,但这是非标准的,并非所有其他Web浏览器引擎都实现。即:Trident(MSIE),WebKit(Chrome / Safari),Presto(Opera)。