【问题标题】:How to ignore extra parameters in URL?如何忽略 URL 中的额外参数?
【发布时间】:2016-07-06 14:14:33
【问题描述】:

当我使用正确的 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 与其他参数一起使用(带 mailchimp)

www.exemple.com/?login&utm_source=App+Accounts&utm_campaign=e94f95d4da-News_promo+email_English_2016

它真的没有执行我需要的东西。 有没有办法忽略这些额外的参数并正确执行我的功能?

感谢任何高级帮助!

【问题讨论】:

    标签: javascript url parameters location


    【解决方案1】:

    我会使用正则表达式来处理这个问题,它会测试字符串是否以 login 开头或是否以 signup 开头。

        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');
        }
    

    【讨论】:

    • 可爱!非常感谢。我刚把第一行改成:var url = window.location.toString().split('?')[1];
    • 当然没问题很高兴我能帮忙:)
    【解决方案2】:

    您只需要获取所有参数并检查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"));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 2019-10-17
      • 2014-10-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多