将url变量附加到下一页链接

时间:2011-06-30 16:11:25

标签: jquery append href

如何设置页面以将urlVariable附加到其链接中?

例如,我有3个不同的页面,所有页面都链接到同一页面,例如
receiver.html

第一页链接:

receiver.html?sender=1

第二页链接:

receiver.html?sender=2

第三页链接:

receiver.html?sender=3

当点击第一页时,它会将用户发送到receiver.html,其中包含许多外向链接,并且脚本会根据上面的三个页面将变量附加到其所有外发链接中?

receiver.html

outgoinglink.html?sender=1
outgoinglink2.html?sender=1
outgoinglink3.html?sender=1

如果使用第二页,则receiver.html将附加

?sender=2

在其内部的所有链接上依此类推......

1 个答案:

答案 0 :(得分:0)

您可以使用此帖子中显示的功能(http://stackoverflow.com/questions/901115/get-query-string-values-in-javascript)来获取参数

function getParameterByName( name )

    {
      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regexS = "[\\?&]"+name+"=([^&#]*)";
      var regex = new RegExp( regexS );
      var results = regex.exec( window.location.href );
      if( results == null )
        return "";
      else
        return decodeURIComponent(results[1].replace(/\+/g, " "));
    }

var sender = getParameterByName('sender');

然后将你需要的东西附加到所有href:

$('a').each(function(){
    var href = $(this).attr('href');
    if (href.indexOf('&') !== -1){
        //if you have on & in the href you must use &
        $(this).attr('href', href+'&sender='+sender);
     }else{
        $(this).attr('href', href+'?sender='+sender);
     }
});