我正在尝试在用户在我的网站上接受Cookie政策时存储Cookie,因此当它被接受时,必须在用户下次打开网站或用户按下时隐藏专门用于接受该策略的div F5,问题是出现了错误,因为div没有被隐藏。
这是div代码:
<div id="cookiesBar">
<div class="inner">
Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real
Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies.
<a href="javascript:void(0);" class="ok" onclick="acceptCookiesPolicy();"><b>OK</b></a> |
<a href="http://politicadecookies.com" target="_blank" class="info">Más información</a>
</div>
</div>
决定是否显示div在身体声明中有这个onload事件:
<body onload="checkIfCookiesPolicyIsAccepted();">
这是我的javascript文件:
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=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(";");
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==" ") c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
function acceptCookiesPolicy(){
createCookie("cookiesPolicyAccepted", "true", 365);
document.getElementById("cookiesBar").style.display="none";
}
function checkIfCookiesPolicyIsAccepted(){
if(readCookie("cookiesPolicyAccepted")!="true"){
document.getElementById("cookiesBar").style.display="block";
window.alert("el cookie NO es true");
}else{
document.getElementById("cookiesBar").style.display="none";
window.alert("el cookie es true");
}
}
正如您所看到的,我在c window.alert
方法中添加了heckIfCookiesPolictyIsAccepted
,它始终显示相同的警告,并使用相同的文字“el cookie NO es true”,因此它总是在阅读null或与“true”值不同,因此它不能用于cookie存储/检索系统。
我从这里获得了这个cookie存储/检索系统:http://www.quirksmode.org/js/cookies.html
我的代码有什么问题?
感谢您的帮助。
答案 0 :(得分:1)
您通常无法在通过.alert .glyphicon{
float:left;
margin-right:9px;
}
.alert div{
overflow:hidden;
}
协议(即本地文件)访问的文件中设置设置Cookie。您必须使用本地服务器。