我有一个问题,我对javascript很新,但我从网上得到了这个:
<script>
function lightbox_open(){
window.scrollTo(0,0);
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block';
}
</script>
但是我不希望每个人弹出这个弹出窗口,所以它只需要每周在你的电脑上显示1次,你以为你可以用cookie做到这一点。但我是新手,所以我不能让它发挥作用。
有人可以帮助我吗?
因此,如果有人打开我的页面,请显示弹出窗口。他第二次访问没有弹出窗口,1周后弹出窗口必须重新显示。
答案 0 :(得分:1)
首先创建一个设置cookie的函数:
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}
然后,获取cookie的函数:
function getCookie(cname) {
var name = cname + "=";
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);
if (c.indexOf(name) != -1) return c.substring(name.length,c.length);
}
return "";
}
最后,检查是否设置了cookie,或者进行工作并设置cookie
function checkCookie() {
var lightbox = getCookie("lightbox");
if (lightbox === "") { // Cookie not set
lightbox_open();
setCookie("lightbox", "seen", 7);
}
}
答案 1 :(得分:0)
设置一周后删除的Cookie:
document.cookie = 'preventSpam;max-age=604800'; // 7 * 24 * 60 * 60
然后检查cookie是否存在
if (document.cookie) {
showSomePopup();
}
注意:这只是一个最简单的演示。如果你想使用cookie超过这个用例,你需要实现/导入某种cookie getter / setter,如图in documentation所示。