< noob> 当我使用正确的URL
时,以下代码就像一个魅力www.exemple.com/?login
$(document).ready(function(){
function urlparam(){
var url = window.location.href.split('?')[1];
if (url == 'login' ) {
document.getElementById('loginMainContainer').style.display = 'block';
$('.login').triggerHandler('click');
} else if (url == 'signup' ){
document.getElementById('loginMainContainer').style.display = 'block';
$('.signup').triggerHandler('click');
}
}
urlparam()
});
但是,一旦我需要将此URL与其他参数(w / mailchimp)一起使用
www.exemple.com/?login&utm_source=App+Accounts&utm_campaign=e94f95d4da-News_promo+email_English_2016
它确实没有执行我需要的东西。 有没有办法忽略这些额外的参数并正确执行我的功能?
感谢先进的任何帮助!
< / noob>
答案 0 :(得分:0)
您只需获取所有参数并检查是否存在login
。
var url="http://someurl.com?test=ok&machin=1234&login&azir=lol";
function parameterExist(url,paramName)
{
var parameters = url.split('?')[1].split('&');
for(var i=0;i<parameters.length;i++)
{
var paramNameUrl=parameters[i].split('=')[0];
if(paramNameUrl==paramName)
return true;
}
return false;
}
console.log(parameterExist(url,"login"));
console.log(parameterExist(url,"blabla"));
答案 1 :(得分:0)
我会使用正则表达式来处理这个问题,如果字符串以login开头或者以注册开头,它会进行测试以匹配。
var url = ('www.exemple.com/?login&utm_source=App+Accounts&utm_campaign=e94f95d4da-News_promo+email_English_2016').toString().split('?')[1];
if (url.match(/^login/ )) {
console.log('login');
} else if (url.match(/^signup/ )){
console.log('signup');
}