我使用以下脚本:
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
var id_is = getQueryVariable("id");
document.write(id_is);
return(false);
}
此脚本应获取变量值并将其显示在屏幕上。它只适用于我使用getQueryVariable(&#34; id&#34;);在控制台中,但使用document.write方法,它不起作用。我做错了什么?
答案 0 :(得分:2)
您应该在加载页面时调用document.write。
<script type="text/javascript">
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){
return pair[1];
}
}
}
var id_is = getQueryVariable("id");
window.onload = function(){
document.write(id_is);
}
</script>
答案 1 :(得分:0)
您可以创建一个从URL获取查询参数的函数,例如:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}
如果查询为hello
且等于world
,即http://www.website.com/index.html?hello=world
。
然后,您可以使用getURLParameter('hello')
将其返回。
答案 2 :(得分:0)
var url =window.location.search;
function getQueryParam(name,url) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(url)||[,""])[1].replace(/\+/g, '%20'))||null
}
var result=getQueryParam(id,url);
document.write(result);