如何调整脚本中已关闭横幅的再次显示间隔时长?
问题解答
一、(!t||l-t>=9e5)的时长对应逻辑
先拆解代码里的关键变量和数值:
t:从本地存储获取的上次关闭横幅的时间戳(单位:毫秒)l:当前页面加载时的当前时间戳(单位:毫秒)9e5是科学计数法,等价于900000毫秒,换算成分钟是900000 ÷ 1000 ÷ 60 = 15分钟
这个条件的逻辑是:
!t:如果用户是第一次访问(本地存储里没有记录过关闭横幅的时间),直接显示横幅l-t>=9e5:如果距离上次关闭横幅已经过了15分钟以上,重新显示横幅
两个条件满足任意一个,就会执行e.style.display="flex"显示横幅。你提到的“约30分钟”可能是测试时的误差,代码逻辑本身是15分钟后重新显示。
二、调整为3小时的修改方法
先把3小时换算成毫秒:3小时 = 3 × 60分钟 × 60秒 × 1000毫秒 = 10800000毫秒
把代码里的9e5替换成10800000(也可以用科学计数法1.08e7),修改后的脚本如下:
<script>!function(){let e=document.getElementById("top-ad-bar"),t=localStorage.getItem("topAdBarClosedAt"),l=new Date().getTime();(!t||l-t>=10800000)&&(e.style.display="flex")}();</script>
内容的提问来源于stack exchange,提问作者John C
相关产品推荐
相关产品推荐

