Javascript 如何获取当前加载的脚本名称和脚本的url变量?
我正在使用scriptembed标签加载一个脚本,我想在脚本中获取url变量和加载脚本名称。可能吗?比如说,Javascript 如何获取当前加载的脚本名称和脚本的url变量?,javascript,Javascript,我正在使用scriptembed标签加载一个脚本,我想在脚本中获取url变量和加载脚本名称。可能吗?比如说, <script src="test.js?id=12"></script> 在test.js内部,有没有办法获取url变量id 任何帮助都将不胜感激 谢谢, Karthik浏览评论上的链接,您可以得到正确的答案。 无论如何,为了让事情变得更简单: var allScripts=document.getElementsByTagName('script');
<script src="test.js?id=12"></script>
在test.js内部,有没有办法获取url变量id
任何帮助都将不胜感激
谢谢,Karthik浏览评论上的链接,您可以得到正确的答案。 无论如何,为了让事情变得更简单:
var allScripts=document.getElementsByTagName('script');
var indexLastScript= allScripts.length -1;
alert (allScripts[indexLastScript].src);
这将以常规字符串的形式显示“test.js?id=12”,因此您可以将其拆分以获取de param
希望能有所帮助,我已经在Chrome Javascript控制台上试过了D.浏览评论上的链接,您可以得到正确的答案。 无论如何,为了让事情变得更简单:
var allScripts=document.getElementsByTagName('script');
var indexLastScript= allScripts.length -1;
alert (allScripts[indexLastScript].src);
这将以常规字符串的形式显示“test.js?id=12”,因此您可以将其拆分以获取de param
希望能有所帮助,我已经在Chrome Javascript控制台上试过了D.除了链接帖子中的答案外,只有你才能使用Firefox4(有警告);它将返回完整的url,包括参数。除了链接帖子中的答案之外,只有您可以使用Firefox 4进行FWIW(需要注意);它将返回完整的url,包括参数。如果要从当前url获取变量,可以使用以下命令:
function queryParser(url){
this.get=function(p){return this.q[p];}
this.q={};
this.map=function(url){
url=url || window.location.search.substring(1);
var url=url.split('&');
var part;
for(var i=0;i<url.length;i++){
part=url[i].split('=');
this.q[part[0]]=part[1];
}
}
this.map(url);
}
var query=new queryParser();
// assuming you have ?test=something
alert(query.get('test'));
如果要从当前URL获取变量,可以使用以下方法:
function queryParser(url){
this.get=function(p){return this.q[p];}
this.q={};
this.map=function(url){
url=url || window.location.search.substring(1);
var url=url.split('&');
var part;
for(var i=0;i<url.length;i++){
part=url[i].split('=');
this.q[part[0]]=part[1];
}
}
this.map(url);
}
var query=new queryParser();
// assuming you have ?test=something
alert(query.get('test'));
感谢您的努力,我通过在脚本标记中分配一个id属性并通过jQuery访问它来实现这一点
<script src="test.js?id=12" id="myScript"></script>
var currentScript = $("#myScript").attr('src'); //This will give me my script src
var currentScript=$(“#myScript”).attr('src')//这将给我我的脚本src
谢谢,
卡尔蒂克 感谢您的努力,我通过在脚本标记中分配一个id属性并通过jQuery访问它来实现这一点
<script src="test.js?id=12" id="myScript"></script>
var currentScript = $("#myScript").attr('src'); //This will give me my script src
var currentScript=$(“#myScript”).attr('src')//这将给我我的脚本src
谢谢,
Karthik请参阅尼斯函数,但OP首先需要获取当前运行脚本的URL。请检查我答案的最后一段,然后检查第三段。然后转到OP并阅读他的第二个问题。是的,我读了这些,但是如何从脚本中获取
scriptURL
?@Marcel检查@alex和@ivo_es.Nice函数的答案,但是OP首先需要获取当前运行脚本的URL。检查我答案的最后一段,然后检查第三段。然后转到OP并阅读他的第二个问题。是的,我读了这些,但是如何从脚本中获取scriptURL
?@Marcel检查@alex和@ivo_es的答案。我知道这个解决方案,但我的问题是我会将此脚本放在主机网站中,并基于id,它将从我的服务器而不是主机服务器加载一些数据。这就像加载一个小部件脚本。所以我不能保证主机会将我的脚本嵌入到哪个位置。有什么更好的主意吗?谢谢大家@Karthik:当脚本运行时,最后一个脚本元素将是当前正在运行的脚本(某些边缘情况除外)。我知道这个解决方案,但我的问题是我会将此脚本放在主机网站中,并基于id,它将从我的服务器而不是主机服务器加载一些数据。这就像加载一个小部件脚本。所以我不能保证主机会将我的脚本嵌入到哪个位置。有什么更好的主意吗?谢谢大家@Karthik:当脚本运行时,最后一个脚本元素将是当前正在运行的脚本(某些边缘情况除外)。