【发布时间】:2010-09-29 01:44:00
【问题描述】:
如何引用加载当前正在运行的 javascript 的脚本元素?
情况是这样的。我在页面高处加载了一个“主”脚本,首先在 HEAD 标记下。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="scripts.js"></script>
“scripts.js”中有一个脚本需要能够按需加载其他脚本。普通方法对我来说不太适用,因为我需要在不引用 HEAD 标记的情况下添加新脚本,因为 HEAD 元素尚未完成渲染:
document.getElementsByTagName('head')[0].appendChild(v);
我想要做的是引用加载当前脚本的脚本元素,这样我就可以将新的动态加载的脚本标签附加到它之后的 DOM 中。
<script type="text/javascript" src="scripts.js"></script>
loaded by scripts.js--><script type="text/javascript" src="new_script1.js"></script>
loaded by scripts.js --><script type="text/javascript" src="new_script2.js"></script>
【问题讨论】:
-
一句警告:在 DOM 仍在加载时对其进行修改会导致您收到 world of hurt in IE6 & IE7。在页面加载后运行该代码会更好。
-
看起来它现在可以在 caniuse 上使用:caniuse.com/#feat=document-currentscript
标签: javascript element parent