确定在外部js文件中调用函数的HTML页面

时间:2010-05-28 18:56:42

标签: javascript

是否可以在运行时确定?

external.js的内容:

function x() {

  //can i get the path/name of the html file that included this js file?

  //which is test.html

}

test.html的内容

script src =“external.js”

1 个答案:

答案 0 :(得分:4)

包含此js文件的HTML文件”很简单,它只是当前文档的地址。 location.href

如果您想获取URL的特定部分,例如。路径名的最后一部分:

var filename= location.pathname.split('/').pop();

调用函数的HTML页面是一个稍微不同的命题,因为在跨文档脚本的世界中,您可以将函数从一个窗口传递到另一个窗口,因此从一个窗口调用该函数与其定义的地方不同。

没有简单或可靠的方法可以检测到你被称为的地方,但这种情况通常并不常见。一般来说,最好避免跨文档函数调用,因为有许多令人讨厌的陷阱。 window.postMessage应该在将来减少对此的需求。