使用Javascript将查询字符串添加到另一个页面?

时间:2014-01-22 23:06:56

标签: javascript

首先,我是Javascript和任何语言的完全初学者。我在我的网站上使用wordpress。

我有一个网站,根据查询字符串加载图片。

实施例

www.mysite.com/page1                       no image
www.mysite.com/page1?sponsor=calbest       logo of calbest
www.mysite.com/page1?sponsor=pfcu          logo of pfcu

我的问题是:即使访问其他页面,如何保留当前查询字符串?

例如,我从www.mysite.com/page1?sponsor=calbest开始,想要点击指向其他页面的链接。如何确保我到达www.mysite.com/page2?sponsor=calbest而无需直接在HTML中编写?

我需要这样做的原因是我可以更新page1或其他内容并在页面中添加各种赞助商,以便他们拥有“个性化”网页。

是否有一个Javascript函数可以将我正在使用的查询字符串添加到我点击的任何链接?

1 个答案:

答案 0 :(得分:0)

这是一种“Jquery”方式:

<html>
 <head>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
  <script type='text/javascript'>

   $(function(){
    getParameterByName = function(name) {
       name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
       var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
           results = regex.exec(location.search);
     return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }

    var sponsor = getParameterByName('sponsor') || 'calbest';
    $('a.sponsor').each(function( index ) {
      $(this).attr("href", $(this).attr("href")+ "?sponsor="+ sponsor);
    });
  });
  </script>
 </head>
 <body>
   <a class="sponsor" href="http://www.google.com">Google</a>
   <a class="sponsor" href="http://www.yahoo.com">Yahoo</a>
   <a class="sponsor" href="http://stackoverflow.com">Stackoverflow</a>
   <a  href="http://www.microsoft.com">MS Not Sponsored</a>
 </body>
</html>

不要忘记我获得getParameterByName

的位置