我有 javascript 弹出窗口,它为每个用户显示一次(每天仅一次),我需要相同的弹出窗口,但第二个..当我尝试使用相同的代码创建第二个弹出窗口时,它的工作方式与第一个弹出窗口相同。如果用户看到第一个弹出窗口,他/她就看不到其他弹出窗口。请帮助这是代码
if (document.cookie.indexOf('_visited=1') == -1) {
var delay_popup = 1000;
setTimeout("document.getElementById('parent_popup').style.display='block'", delay_popup);
var date = new Date;
date.setDate( date.getDate() + 1 ); // Current date + 1 day
document.cookie = '_visited=1; path=/; expires=' + date.toUTCString();
}
我不希望它们像 1 Popup 一样工作
最佳答案
我今天刚遇到这个问题。
我所做的是这个
enter code here
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);
}
}
var myCookie = readCookie('daycookie');
if (myCookie=''){
// code to show modal here
// then set an expiring token at midnight
var date = new Date();
var midnight = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
var x = Math.floor((Math.random() * 1000) + 1);
document.cookie = 'daycookie' + "=" + x + "; " + "expires="+midnight;
}
逻辑首先是如果cookie不存在则显示弹出窗口 一旦弹出窗口显示,它就会创建一个 cookie,该 cookie 在午夜到期,直到第二天,弹出窗 Eloquent 会再次显示。
希望这对您有帮助。
关于Javascript 每天弹出一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639141/