我在文件中包含myscript.js,http://site1.com/index.html如下所示:
<script src=http://site2.com/myscript.js></script>
Run Code Online (Sandbox Code Playgroud)
在"myscript.js"中,我希望能够访问URL" http://site2.com/myscript.js ".我想要这样的东西:
function getScriptURL() {
// something here
return s
}
alert(getScriptURL());
Run Code Online (Sandbox Code Playgroud)
如果从上面提到的index.html调用,它会提醒" http://site2.com/myscript.js ".
我很确定答案是否定的,但我想我还是会问.
如果我的站点引用了一个名为"whatever.js"的脚本,是否可以从该脚本中获取"whatever.js"?喜欢:
var scriptName = ???
if (typeof jQuery !== "function") {
throw new Error(
"jQuery's script needs to be loaded before " +
scriptName + ". Check the <script> tag order.");
}
Run Code Online (Sandbox Code Playgroud)
可能比依赖检查更值得麻烦,但是到底是怎么回事.
是否有一种简单可靠的方法来确定当前正在执行的JavaScript文件的URL(在网页内)?
我唯一想到的是扫描DOM src以查找所有脚本属性以查找当前文件的引用方式,然后通过应用它来计算绝对URL document.location.任何人都有其他想法,是否有一些我完全忽略的超级简单方法?
更新:通过DOM访问的脚本元素已经具有src包含完整URL 的属性.我不知道它是多么普遍/标准,但是你可以使用getAttribute("src")哪个将返回[X] HTML中的任何原始属性值.