开发者

URL of current script in JavaScript

How can I find out the URL of the JS file that was called?

Let's say the JS file (which is part of a li开发者_如何学Gobrary) and the HTML file (which is the application) are on a different server. To find out the URL of the HTML file is easy. But how can I find out the server name and path of the JS files' server within the JS file itself? (Edit: There is a loader which invokes other JS files of thsi library in the same directory structure)

Preferably a JQuery or pure JS solution.

Edit:

After I learned from your answers and comments I decided it would be cleaner to actually move the loader code to the first server, where also the html lives, which avoids the problem.


In JQuery you could do:

$('script').each(function(i, e) {
    alert($(e).attr('src'));
});


You can iterate through the script tags and check the SRC, I suppose...

var els = document.getElementsByTagName("script");
var str = "";

for(var i = 0; i < els.length; i++) {
  var src = els[i].src;
  if(src.length > 0)
    str += src + "\n";
}

alert(str);

Paste the following into your browser bar to see the URLs of the scripts on this page...

javascript:var els = document.getElementsByTagName("script"); var str = ""; for(var i = 0; i < els.length; i++) { var src = els[i].src; if(src.length > 0) { str += src + "\n";}}alert(str);

Note: IE appears to only iterate through <script> elements within the <body> tag.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜