0

我有一个相当简单的代码,应该在点击时隐藏我的“cookie 策略”栏,但它似乎没有存储 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>

我把'。在我的域前面,希望这能解决我的跨域问题,但 cookie 甚至没有存储在主域中......

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

4

3 回答 3

0

这条线似乎不太正确-

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

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

  2. 是否设置了值变量?

于 2013-01-20T23:49:34.447 回答
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";
于 2013-01-20T23:29:48.823 回答
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');

祝你好运!

于 2013-01-21T09:50:34.193 回答