我将Javsacript文件添加到脚本路径中具有不同查询字符串的页面中,如下所示:
第1页:
<script type="text/javascript" src="file.js?abc=123"></script>
第2页:
<script type="text/javascript" src="file.js?abc=456"></script>
Page3:
<script type="text/javascript" src="file.js?abc=789"></script>
在我的Javascript文件中,如何获取“ abc”参数的值?我尝试为此使用window.location,但这不起作用。
如果有帮助,下面是我用来查找查询字符串参数值的函数:
function getQuerystring(key, defaultValue) { if (defaultValue == null) defaultValue = ""; key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); var regex = new RegExp("[\\?&]" + key + "=([^&#]*)"); var qs = regex.exec(window.location.href); if (qs == null) return defaultValue; else return qs[1]; }
这个有可能。请参见通过src属性传递JavaScript参数。最重要的一点是,由于HTML(而非 XHTML)脚本是在加载时执行的,因此,脚本一经触发就可以找到自身,因为它始终是页面中的最后一个脚本,
var scripts = document.getElementsByTagName('script'); var index = scripts.length - 1; var myScript = scripts[index]; // myScript now contains our script object var queryString = myScript.src.replace(/^[^\?]+\??/,'');
然后,您只需应用查询字符串解析。