从页面URL获取参数

问题描述:

因此,这里是主代码,该代码检查当前页面的URL为字符串?a =然后将变量 ee_roomname设置为之后的任何值。从页面URL获取参数

<script type="text/javascript"> 
    var ee_roomname = unescape(location.href.substring(location.href.lastIndexOf("?a=")+1)) 
    if(ee_roomname.indexOf("?") != -1) ee_roomname = ""; 
</script> 

但是,如果我想添加更多的变量,可能在此值之后。例如。这里有一个可能的网址:

http://abc.de/fg.html?a=hijk

因此,可变 ee_roomname将被设置为 HIJK
现在,如果我们添加一些更多的标签,它看起来就像这样:

http://abc.de/fg.html?a=hijk&b=lmno&c=pqrs

现在 ee_roomname将被设置为 HIJK & B = LMNO & C = PQRS,这不是我想要的。
我希望代码仅跟踪URL中的 a变量/参数的值。

什么需要改变,以及如何使它工作?
也许提供一个我可以使用的代码。 (不是太大粉丝“做到这一点,这个”和这样的)

+0

看起来你想要[this]这样的东西(http://papermashup.com/read-url-get-variables-withjavascript/) –

+0

@le_garry正是我在找的东西。你可以把它作为答案发布,以便我可以接受它吗? – SeinopSys

这里是获取URL参数的函数

function getUrlVars() { 
    var vars = {}; 
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
     vars[key] = value; 
    }); 
    return vars; 
} 

如何检索您的JavaScript的URL参数

var first = getUrlVars()["id"]; 
var second = getUrlVars()["page"]; 

alert(first); 
alert(second); 

View the Source

对于您的奖金:如果拆分字符串在'?'并采取上半年,这将给你的“纯”绝对网址。

+0

只是upvoted这个,因为它帮助我建立一个最近的工具。谢谢! – justinavery

+0

现在我只注意到这个答案,真的很难过,你明白了! – SeinopSys

来回答第一个问题,你也可以尝试:

<script> 
    var query = window.location.search.substring(1); 
    var getv = query.split("&"); 
    var pair = new Array(); 
    for (var i=0; i < getv.length; i++) { 
    pair[i] = getv[i].split("="); 
    } 
</script> 

对是所有获得变量和值,如数组: [ “H”, “1”],[ “G” ,“2”]] if h = 1 & g = 2

希望有帮助。

尝试使用此URL Parsing library in JavaScript解析整个网址。