页面加载后的弹出窗口每 24 小时仅打开一次
Popup after page loads opens only once per 24 hours
我有一个在页面加载后打开的工作弹出窗口。
我希望它每 24 小时或每次用户打开浏览器或任何其他方式显示一次,这样它就不会在每次页面刷新等后显示。
我知道可以使用 cookie、浏览器缓存或 php 功能来完成。你能提供任何代码以最简单的方式做到这一点吗?我应该使用数据库、cookie 还是其他方式来存储这些数据?
function PopUp(e){
if(e == 'hide'){
document.getElementById('outside').style.display='none';
}else{
document.getElementById('outside').removeAttribute('style');
}
}
window.onload = function(){
setTimeout(function(){
PopUp('show');
},25);
}
/*DEMO*/
#outside{position:fixed;top:0;left:0;bottom:0;right:0;background:rgba(100,50,0,.6)}
#inside{width:50%;height:50%;position:relative;top:20%;left:20%;background:#1C2338}
<div id="outside" style="display:none">
<div id="inside">
<h2 onClick="PopUp('hide')">CONTENT</h2>
</div>
</div>
如评论中所述,您可以使用带有到期日期的 cookie 来执行此操作。基本上,如果特定的 cookie 不存在,则只显示弹出窗口,同时将 cookie 设置为 24 小时过期时间。
if (document.cookie.indexOf("popupShown=true") == -1) {
document.cookie = "popupShown=true; max-age=86400"; // 86400: seconds in a day
// make the popup show here
}
24 小时后,cookie 将过期,下次加载网页时将再次显示弹出窗口。
我有一个在页面加载后打开的工作弹出窗口。
我希望它每 24 小时或每次用户打开浏览器或任何其他方式显示一次,这样它就不会在每次页面刷新等后显示。
我知道可以使用 cookie、浏览器缓存或 php 功能来完成。你能提供任何代码以最简单的方式做到这一点吗?我应该使用数据库、cookie 还是其他方式来存储这些数据?
function PopUp(e){
if(e == 'hide'){
document.getElementById('outside').style.display='none';
}else{
document.getElementById('outside').removeAttribute('style');
}
}
window.onload = function(){
setTimeout(function(){
PopUp('show');
},25);
}
/*DEMO*/
#outside{position:fixed;top:0;left:0;bottom:0;right:0;background:rgba(100,50,0,.6)}
#inside{width:50%;height:50%;position:relative;top:20%;left:20%;background:#1C2338}
<div id="outside" style="display:none">
<div id="inside">
<h2 onClick="PopUp('hide')">CONTENT</h2>
</div>
</div>
如评论中所述,您可以使用带有到期日期的 cookie 来执行此操作。基本上,如果特定的 cookie 不存在,则只显示弹出窗口,同时将 cookie 设置为 24 小时过期时间。
if (document.cookie.indexOf("popupShown=true") == -1) {
document.cookie = "popupShown=true; max-age=86400"; // 86400: seconds in a day
// make the popup show here
}
24 小时后,cookie 将过期,下次加载网页时将再次显示弹出窗口。