以编程方式获取当前脚本的ID

时间:2019-10-21 20:46:48

标签: javascript jquery

我有一个使用ajax来使用api的脚本。我当前的脚本正在寻找一个id为“ test-api”的脚本标签,并将data属性(一个id)传递给ajax调用以完成URL的查找。

<script src="./bundle/src/js/api.js" id="test-api" data-client="2"></script>

在我的脚本内:

var clientId = $('#test-api').data('client');
//short hand 
axios.get('http://url_to_api.com/clients' + clientID)
.then()

所有这些工作都很好,但是我现在遇到了一个问题。该脚本可能会在同一页面上重复(因为我可能需要拉入其他“客户端”),因此我需要所有脚本的ID。

<script src="./bundle/src/js/api.js" id="test-api" data-client="2"></script>
<script src="./bundle/src/js/api.js" id="test-two-api" data-client="5"></script>
<script src="./bundle/src/js/api.js" id="test-three-api" data-client="6"></script>

我尝试使用

var script = document.currentScript;
script = script[script.length - 1]

但是我一直返回null(同样,我的脚本是通过gtm放置的,因此它并不总是最后一个脚本)。据我了解,由于将其放置在.then()函数中(在另一个脚本完成后运行),因此它为null。

我想我的问题是,是否有可能实际上获得当前脚本的ID而又不真正知道存在什么ID(未硬编码到脚本中)?不幸的是,我确实也需要支持IE,因此我认为.currentScript也不可行

0 个答案:

没有答案