如何识别当前从哪里加载javascript文件?

时间:2012-11-01 19:36:17

标签: javascript

说我有一个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变量的值?

1 个答案:

答案 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)。