我有一个相当简单的代码,应该在点击时隐藏我的'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甚至没有为主域存储......
希望有人看到我的错误? 谢谢!
答案 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";
它应该是
document.cookie =“cookiepolicy =”+ value + expires +“; path = /; domain = .mydomain.nl”;
是否设置了值变量?
答案 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');
祝你好运!