如何在同一个JS文件中获取JS文件的URL?

时间:2009-11-10 09:12:20

标签: javascript

  

可能重复:
  What is my script src URL?

我有情况:

<script 
  type="text/javascript" 
  src="http://server/some.js">
</script>

在文件 some.js 中,我需要知道相同文件的完整路径 some.js ,eq。的http://server/some.js即可。我怎么能这样做?

我无法更改HTML代码(客户端包含JS文件)。

3 个答案:

答案 0 :(得分:9)

最简单的方法是查找要添加到文档中的最后一个脚本:

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

这必须在脚本的主体中完成,而不是在稍后调用的代码中完成。最好在脚本开头执行它并记住变量,以便在必要时可以在以后的函数调用中使用它,因此它不会受到脚本中稍后将任何新的<script>节点插入文档的代码的影响。 / p>

答案 1 :(得分:7)

尝试一下

sc = document.getElementsByTagName("script");

for(idx = 0; idx < sc.length; idx++)
{
  s = sc.item(idx);

  if(s.src && s.src.match(/some\.js$/))
  { return s.src; }
}

答案 2 :(得分:0)

不确定它是否适用于所有浏览器,请尝试以下方法:

function getScriptFileName() {
  return (new Error).fileName;
}