是否有可能javascript引用创建它的脚本元素?

Aak*_*des 0 html javascript jquery

可能重复:
我如何引用加载当前正在执行的脚本的脚本标记?
你能选择包含JavaScript的脚本元素吗?

有没有identifyScript可以使这项工作?jQuery也很酷:

<script type="text/javascript" id="script1">
    function identifyScript(){...}
</script>
<script type="text/javascript" id="script1">
    identifyScript(); //This function would alert "script1"
</script>
<script type="text/javascript" id="script2">
    identifyScript(); //This function would alert "script2"
</script>
Run Code Online (Sandbox Code Playgroud)

jAn*_*ndy 5

只要保证脚本文件按顺序加载(这意味着,不是异步),就可以每个javascript文件中调用以下代码:

var scripts        = document.getElementsByTagName( 'script' ),
    lastTag        = scripts[ scripts.length - 1 ];

alert( lastTag.id );
Run Code Online (Sandbox Code Playgroud)

但是,只要这些元素中存在asyncdefer属性,此概念就会中断<script>.这些属性中的每一个都允许浏览器延迟脚本的加载,并且不再保证订单.

但是如果您在没有任何异步标志的情况下加载文件,这将很好地工作,因为每个脚本都访问最后插入的<script>节点,该节点必须是从中加载的节点.