带有2个链接目标的按钮 - 取决于cookie

时间:2014-05-14 19:50:04

标签: jquery cookies imagebutton

我想创建一个按钮(图像)。应检查是否存在cookie。如果是,那么去" onclick"到"链接A" - 如果没有,请转到" Link B"。

if (document.cookie)
{
    if (document.cookie.indexOf('xxxxxxxx=true') > -1)
    {
        window.location.replace("http://link-a");
    }else{
        window.location.href = "http://link-b";
    }
}

HTML按钮:

<a href="#">
<img class="button1" src="image.png" alt="" style="width: 30; margin:0px auto; display:block;">
</a>

请帮助......:)

1 个答案:

答案 0 :(得分:0)

如果我理解正确的问题,我认为window.location不是处理问题的正确方法。相反,您应该检查cookie并更新链接的href属性。

这应该有效:

<强> HTML

<!-- I gave the link tag an id -->
<a id="link" href="#">
  <img ... />
</a>

<强> JS

(function() {
  var hasCookie = document.cookie ? true : false,  
      link = document.getElementById('link');

    if (hasCookie) { 
      if (document.cookie.indexOf('xxxxxxxx=true') > -1) {
        link.setAttribute("href", "http://link-a");           
      }
    }
    else{
      link.setAttribute("href", "http://link-b");
    }
  }
})();

编辑:我刚注意到这被标记为jQuery。上述解决方案的jQuery版本如下所示:

$(document).ready(function () {

  if (document.cookie)
  {
    var hasCookie = document.cookie ? true : false,
        link = $('a#link');

    if (hasCookie) { 
      if (document.cookie.indexOf('xxxxxxxx=true') > -1) {
        link.attr("href", "http://link-a");           
      }
    }
    else{
      link.attr("href", "http://link-b");
    }
  }
});