Javascript Cookies保存/读取不工作
当用户在我的网站上接受cookie策略时,我尝试存储cookie,因此当用户接受该策略时,为接受该策略而创建的div必须在下次用户打开网站时隐藏,或者当用户按F5时,问题是由于没有隐藏该div,所以出现了问题 这是div代码:Javascript Cookies保存/读取不工作,javascript,html,css,cookies,Javascript,Html,Css,Cookies,当用户在我的网站上接受cookie策略时,我尝试存储cookie,因此当用户接受该策略时,为接受该策略而创建的div必须在下次用户打开网站时隐藏,或者当用户按F5时,问题是由于没有隐藏该div,所以出现了问题 这是div代码: <div id="cookiesBar"> <div class="inner"> Solicitamos su permiso para obtener datos estadísticos de su n
<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>
在网上,在皇家银行登记注册时,要求获得许可证
第13/2012号法令。这是纳维甘多人对饼干的看法。
|
要决定在主体声明中是否显示该div i有此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");
}
}
函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
else var expires=“”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
如您所见,我在checkifcookespolicityisaccepted
方法中添加了一个窗口。alert
,它显示所有相同的警报,并显示相同的文本“el cookie NO es true”,因此它总是读取空值或与“true”值不同的值,因此cookie存储/检索系统不工作
我从这里得到了这个cookie存储/检索系统:
我的代码有什么问题
感谢您的帮助。您通常无法在通过
文件://
协议访问的文件(即本地文件)中设置cookie。您必须使用本地服务器
另请参见。您确定是在全局范围内定义函数,而不是在其他函数内定义函数吗?您在console中是否遇到任何错误?是否使用文件:///协议尝试此操作?使用文件:///协议浏览时未设置Cookies,具体取决于浏览器。@Gothdo这些函数存储在一个.js文件中,该文件以这种方式添加到html文件的头中:@reinder我不明白你的意思,我是html css js的新手,刚刚开始。不确定你在说什么如果我尝试chrome控制台中的函数,createCookie(“cookiesPolicyAccepted”,“true”,3)在控制台中写入未定义的内容,而readCookie(“cookiesPolicyAccepted”)在控制台中写入空值。不确定这是否正常