1
可能重复:
How may I reference the script tag that loaded the currently-executing script?获取当前正在执行的,动态的追加,脚本标签
有没有什么办法让当前正在运行的脚本元素的引用,如果它是动态附加页面加载后? this问题的答案不起作用,因为我不知道标签ID,并且当连续添加多个标签时[scripts.length-1]方法失败。
可能重复:
How may I reference the script tag that loaded the currently-executing script?获取当前正在执行的,动态的追加,脚本标签
有没有什么办法让当前正在运行的脚本元素的引用,如果它是动态附加页面加载后? this问题的答案不起作用,因为我不知道标签ID,并且当连续添加多个标签时[scripts.length-1]方法失败。
由于执行的脚本可能“知道”它载有下面的名称应该工作:
for (var s, scripts = document.getElementsbyTagName ('script'), i = scripts.length; i--;)
if ((s = scripts[i]).src.indexOf ('scriptname.js') < 0 && s.id && !test (s.id)) {
alert ("Script " + s.src + " id " + s.id + " not yet processed");
}
是的,如果你知道脚本的名称,这个工程。在我的具体情况中,一个脚本可能会被加载多次,脚本标签的ID是唯一的区别。该脚本包含可能在页面上多次使用的搜索控件的实现。使用此脚本src附加脚本标记可实现控制。 – James 2011-03-10 15:37:08
你说你不知道标签ID,但你肯定知道文件名 – HBP 2011-03-10 15:40:41
所以一旦脚本执行完毕,你可以通过检查DOM来确定事实,按照上面的代码搜索脚本,直到找到一个id为尚未处理。我会做一个示例编辑 – HBP 2011-03-10 15:47:19