我创建了一个函数来在我的网站中显示 cookie 策略。 cookie 存储在整个网站上并且工作正常,但它的显示/隐藏部分仅在索引文件中有效,而不在所有其他页面中有效,我不明白为什么。
功能如下:
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() {
var InfoCookieCont = jQuery('#info_cookie');
var InfoCookieDiv = jQuery(".ok-cookie");
InfoCookieDiv.click(function() {
createCookie('infoCookie','true',365)
InfoCookieCont.removeClass("cookie-visible").addClass("cookie-hidden");
});
var InfoCookie = readCookie("infoCookie");
if (!InfoCookie) {
InfoCookieCont.removeClass("cookie-hidden").addClass("cookie-visible");
}
})();
这会从我的网站安装一个 cookie,直到您单击 .ok-cookie
按钮,#info_cookie
将继续显示在页面顶部,这要归功于.cookie-visible
类。
这在index.php 上运行良好,但在其他页面上则不然。在其他页面中,即使我没有单击上一页中的 ok-cookie 按钮,它也会保留 .cookie-hidden
类。
该函数所在的 .js
文件当然包含在我网站的每个页面中。
直播网站是:www.valeriopierbattista.com
谢谢你的帮助,我快疯了!
最佳答案
您在其他页面上遇到了一些其他 js 错误,这些错误正在终止 js 脚本。
关于Javascript Cookie 函数仅适用于索引文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036166/