首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JavaScript -如何获取被调用脚本的URL?

JavaScript -如何获取被调用脚本的URL?
EN

Stack Overflow用户
提问于 2010-06-05 02:13:43
回答 9查看 75.5K关注 0票数 91

我将myscript.js包含在文件http://site1.com/index.html中,如下所示:

代码语言:javascript
复制
<script src=http://site2.com/myscript.js></script>

在“URL”中,我想访问myscript.js "http://site2.com/myscript.js“。我想要这样的东西:

代码语言:javascript
复制
function getScriptURL() {
    // something here
    return s
}

alert(getScriptURL());

如果从上面提到的index.html调用,它将向"http://site2.com/myscript.js“发出警报。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-06-05 02:22:23

来自http://feather.elektrum.org/book/src.html

代码语言:javascript
复制
var scripts = document.getElementsByTagName('script');
var index = scripts.length - 1;
var myScript = scripts[index];

变量myScript现在有了脚本dom元素。您可以使用myScript.src获取src url。

请注意,这需要作为脚本初始评估的一部分来执行。如果你不想污染Javascript命名空间,你可以这样做:

代码语言:javascript
复制
var getScriptURL = (function() {
    var scripts = document.getElementsByTagName('script');
    var index = scripts.length - 1;
    var myScript = scripts[index];
    return function() { return myScript.src; };
})();
票数 62
EN

Stack Overflow用户

发布于 2011-08-08 20:04:03

您可以将id属性添加到脚本标记中(即使它位于head标记中):

代码语言:javascript
复制
<script id="myscripttag" src="http://site2.com/myscript.js"></script>

然后访问其src,如下所示:

代码语言:javascript
复制
document.getElementById("myscripttag").src

当然,对于包含脚本的每个文档,id值应该是相同的,但我不认为这会给您带来很大的不便。

票数 57
EN

Stack Overflow用户

发布于 2016-08-24 21:05:48

除IE外的所有功能都支持

代码语言:javascript
复制
document.currentScript
票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2976651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档