你是混合location.hash
与location.search
- see here for the explanation
你可以只使用location.hash
并在你的“变量”之间加上一个分隔符:
例如..如果这是你的网址http://www.domainname.com/#changepassword-variable-another
th恩,你可以做
var hash = window.location.hash.substring(1);
var hasharray = hash.split['-']
if(hasharray[0] == 'changepassword') { // Password Change
alert('changepassword');
}
,或者您可以使用location.search
和下面的例子:
网址:http://www.domainname.com/?command=changepassword&var=variable&var2=another
此使用key=value
格式,然后用下面的方法来访问values
function getQueryString() {
var result = {}, queryString = location.search.substring(1),
re = /([^&=]+)=([^&]*)/g, m;
while (m = re.exec(queryString)) {
result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}
return result;
}
您可以通过传递函数key
var command = getQueryString()["command"];
if(command == 'changepassword') { // Password Change
alert('changepassword');
}
在你的代码示例中有**没有** jQuery ...这是计划JavaScript – ManseUK 2012-03-24 07:41:30
,但具有'jQuery'标记将使范围在jQuery中回答。而那些避开'javascript'标签的'jQuery'人将会看到它突出显示! – tusar 2012-03-24 07:50:03
@tusar我并没有质疑标签的需求(如果我认为它不合适,我会编辑和删除它) - 我只是陈述事实.... – ManseUK 2012-03-24 07:52:39