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甚至不存储在主域名...
希望任何人看到我的错误? 谢谢!
答
尝试改变
<?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";
-
它应该是这样的
的document.cookie = “的CookiePolicy =” +值+期满+“;路径= /;域= .mydomain.nl“;
是变量的值设置
答
感谢球员,但无论你的建议似乎并没有解决我的问题对于其他人在未来有? 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');
好运
什么是变量“的CookiePolicy”或者是说应该是字符串常量'“cookiepol!?冰冷的“'? – Pointy
您可能想考虑使用插件,可能会产生手动或人为错误,因为cookie对格式非常敏感; – adrian