0

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

4

1 回答 1

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为元素引入了一个async属性SCRIPT,这可能使上述方法无用。在异步的情况下,获取关联SCRIPT元素的唯一方法是使用 Gecko (Firefox) document.currentScript,但这是非标准的,所有其他 Web 浏览器引擎都没有实现。即:Trident (MSIE)、WebKit (Chrome/Safari)、Presto (Opera)。

于 2012-11-04T20:57:15.953 回答