Cookie 保存/读取无法按预期工作
Cookies saving/reading not working as expected
当用户在我的网站上接受 cookie 策略时,我正在尝试存储 cookie,因此当它被接受时,下次用户打开网站或当用户按 F5 时,必须隐藏专门为接受策略而创建的div,问题是出了点问题,因为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");
}
}
如您所见,我在checkIfCookiesPolictyIsAccepted
方法中添加了一个window.alert
,它始终显示具有相同文本"el cookie NO es true"的相同警报,因此它始终读取 null 或与"true"值不同,因此它无法在 cookie 存储/检索系统中工作。
我从这里得到了这个cookie存储/检索系统:http://www.quirksmode.org/js/cookies.html
我的代码出了什么问题?
您通常无法在通过协议访问的文件(即本地文件)中设置设置cookie file://
。您必须使用本地服务器。
另请参阅在本地 html 文件中使用 JavaScript 设置 Cookie。
相关文章:
- OrientDB javascript函数;保存“;在getDataBase上不工作
- 如何使用javascript将Excel工作簿保存到当前用户桌面
- 我的jquery代码在谷歌chrome控制台中工作,而不是在保存它之后
- 如何将整个页面保存为一个文件,以便它离线工作(包括外部javascript)
- jqTree 在 IE11 中不执行保存状态工作正常 FF12.
- Cookie 保存/读取无法按预期工作
- jsPDF 在第一次保存时工作,在第二次保存时不更新
- 预防保存弹出窗口的默认在 chrome 中工作,但在火狐中不起作用
- 将大约 300 张画布图像保存在一个数组中并发送一次进行处理,在 chrome 中崩溃,但在 Firefox 中工作正常
- 当我在 JavaScript 中保存/读取 csv 文件时,如何使用第二张工作表
- integer未保存在循环中/部分工作的JS中
- 函数保存JS对象不工作
- fullscreenApi使fullscreen元素具有内部元素和保存工作下拉列表的能力
- “保存-3d”测试不能在Android上工作(通过Browserstack)
- PHP保存文本文件,然后在另一个页面上显示它并不是每次都工作
- 调用ASP中控制器的ActionMethod.. NET MVC从Javascript,结果在Excel工作表保存
- Mongoose's如何保存回调工作
- 将对象数组保存到本地存储不工作
- '在关闭或离开未保存更改的页面之前警告用户'并# 39;t工作
- 代码在jsfiddle中工作得很好,但在本地保存时就不行