为删除的元素设置 cookie
Set cookie for removed element
我有一个右上角带有 X(关闭)图标的元素。
单击该关闭图标时,我用一些 jQuery 隐藏了该元素。
当我在同一会话的新页面上时,该元素再次返回。我想在用户单击会话中的关闭图标后设置一个 cookie 来隐藏该元素。我发现这是为了设置一个 cookie,但里面需要什么?:
这是我的元素代码
jQuery(document).ready(function() {
//Add close icon in top right corner of element
jQuery("<a class='verwijderen_messenger' href='#'></a>").insertBefore("a#fbmsg-icon");
jQuery("a.verwijderen_messenger").live("click", function(event) {
event.preventDefault();
//Hide element
jQuery("a#fbmsg-icon").css("display", "none");
jQuery("a.verwijderen_messenger").css("display", "none");
//
sessionStorage.setItem("messenger", "hidden");
});
if (sessionStorage.getItem("messenger") == "hidden") {
jQuery("a.verwijderen_messenger").remove();
jQuery("a#fbmsg-icon").remove();
}
else {}
});
您可以使用 localStorage.setItem(key,value)
将变量设置到本地浏览器并使用 localStorage.getItem(key)
获取。
在您的示例中,它将是:localStorage.setItem(messenger, 'hidden')
然后通过
在下一个 window 中获取变量
if(localStorage.getItem(messenger)=='hidden') {
hideDiv();
} else {
showDiv();
}
这里有创建、调用和清除cookies的三个函数。但我建议查看 localstorage,因为它们不会像 cookie 一样在设定的时间段后过期
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(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) {
document.cookie = name+'=; Max-Age=-99999999;';
}
我有一个右上角带有 X(关闭)图标的元素。 单击该关闭图标时,我用一些 jQuery 隐藏了该元素。 当我在同一会话的新页面上时,该元素再次返回。我想在用户单击会话中的关闭图标后设置一个 cookie 来隐藏该元素。我发现这是为了设置一个 cookie,但里面需要什么?:
这是我的元素代码
jQuery(document).ready(function() {
//Add close icon in top right corner of element
jQuery("<a class='verwijderen_messenger' href='#'></a>").insertBefore("a#fbmsg-icon");
jQuery("a.verwijderen_messenger").live("click", function(event) {
event.preventDefault();
//Hide element
jQuery("a#fbmsg-icon").css("display", "none");
jQuery("a.verwijderen_messenger").css("display", "none");
//
sessionStorage.setItem("messenger", "hidden");
});
if (sessionStorage.getItem("messenger") == "hidden") {
jQuery("a.verwijderen_messenger").remove();
jQuery("a#fbmsg-icon").remove();
}
else {}
});
您可以使用 localStorage.setItem(key,value)
将变量设置到本地浏览器并使用 localStorage.getItem(key)
获取。
在您的示例中,它将是:localStorage.setItem(messenger, 'hidden')
然后通过
if(localStorage.getItem(messenger)=='hidden') {
hideDiv();
} else {
showDiv();
}
这里有创建、调用和清除cookies的三个函数。但我建议查看 localstorage,因为它们不会像 cookie 一样在设定的时间段后过期
function setCookie(name,value,days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(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) {
document.cookie = name+'=; Max-Age=-99999999;';
}