Javascript cookie设置不起作用

问题描述:

我有一个相当简单的代码,应该隐藏我的'cookie-policy'栏点击,但它似乎没有存储cookie来记住用户点击'关闭'。我的功能:Javascript 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"; 

    } 

酒吧关闭就好,所以执行前两行代码。但是,如果我更新页面,该栏会再次显示。这是我有一个饼干吧:

<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甚至不存储在主域名...

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

+1

什么是变量“的CookiePolicy”或者是说应该是字符串常量'“cookiepol!?冰冷的“'? – Pointy

+0

您可能想考虑使用插件,可能会产生手动或人为错误,因为cookie对格式非常敏感; – adrian

尝试改变

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

要:

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

为尖尖的评论,你可能想改变你的document.cookie并创建一个value变量,像这样:

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

这行做似乎不太正确 -

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

    的document.cookie = “的CookiePolicy =” +值+期满+“;路径= /;域= .mydomain.nl“;

  2. 是变量的值设置

感谢球员,但无论你的建议似乎并没有解决我的问题对于其他人在未来有? similair问题,这个代码工作完美的我(甚至在我的子域):

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'); 

好运