假设我有一个 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 变量的值?
假设我有一个 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 变量的值?
执行外部脚本时,其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)。