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.
精彩评论