Javascript cookie设置不起作用

时间:2013-01-20 23:28:01

标签: php javascript cookies

我有一个相当简单的代码,应该在点击时隐藏我的'cookie-policy'栏,但它似乎不存储cookie以记住用户点击'关闭'。我的功能:

function closeCookieBar() {
      document.getElementById('cookiespace').style.display = 'none';
          document.getElementById('cookiepolicy').style.display = 'none';
          var date = new Date();
          date.setTime(date.getTime()+(days*24*60*60*1000));
          var expires = "; expires="+date.toGMTString();
          document.cookie = cookiepolicy+"="+value+expires+"; path=/; domain=.mydomain.nl";

     }

条形关闭就好了,所以执行前两行代码。但是,如果我 更新页面,酒吧再次出现。这就是我有一个cookie吧:

<div id="cookiepolicy" <?php if(isset($_cookie['cookiepolicy'])){ echo "style=\"display:none\""; } ?>>
<div id="cookiepolicy-wrapper">
<div id="cookiepolicy-txt">
<span id="cookiepolicy-notice">Deze website maakt gebruik van cookies om de functionaliteit en het gebruiksgemak te vergroten. Als u onze website gebruikt, gaan wij er vanuit dat u hiermee akkoord gaat. </span>
<span id="cookiepolicy-accept-cookies" onclick="closeCookieBar();">Sluit</span>

</div>
</div>
</div>

我把'。'在我的域前希望能解决我的cross-suddomain问题,但cookie甚至没有为主域存储......

希望有人看到我的错误? 谢谢!

3 个答案:

答案 0 :(得分:0)

尝试更改

<?php if(isset($_cookie['cookiepolicy'])){ echo "style=\"display:none\""; } ?>

要:

<?php if(isset($_COOKIE['cookiepolicy'])){ echo "style=\"display:none\""; } ?>

作为Pointy评论,您可能想要更改document.cookie并创建value变量,如下所示:

value =  document.getElementById('your_item').value;
document.cookie = "cookiepolicy="+value+"; "+expires+"; path=/; domain=.mydomain.nl";

答案 1 :(得分:0)

这条线似乎不太正确 -

document.cookie = cookiepolicy+"="+value+expires+"; path=/; domain=.mydomain.nl";
  1. 它应该是

    document.cookie =“cookiepolicy =”+ value + expires +“; path = /; domain = .mydomain.nl”;

  2. 是否设置了值变量?

答案 2 :(得分:0)

谢谢大家,但你的建议似乎都没有解决我的问题。对于将来遇到类似问题的其他人来说,这段代码对我来说非常合适(即使在我的子域名中):

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/; domain=.example.com";
}

createCookie('cookieee','stuff','22');
祝你好运!