gpt4 book ai didi

javascript - 即使用户正在导航到其他页面,也会在一段时间后打开弹出窗口

转载 作者:行者123 更新时间:2023-11-30 13:16:45 26 4
gpt4 key购买 nike

我需要一些有关此 javascript 代码的帮助。

我有这个代码:

jQuery(document).ready(function(){
if (document.cookie.indexOf('visited=true') == -1) {
var fifteenDays = 1000*60*60*24*1;
var expires = new Date((new Date()).valueOf() + fifteenDays);
document.cookie = "visited=true;expires=" + expires.toUTCString();
window.setTimeout(
function() {
jQuery.colorbox({href:"/popup.htm", open:true, iframe:false, innerWidth:600, innerHeight:490});
},

30000 )}});

它应该在 30 秒后打开一个弹出窗口,每天一次。问题是它在 30 秒后打开的弹出窗口停留在页面上。即使客户端导航到其他页面,有什么方法可以让它在 30 秒后打开?因此,如果用户在一个页面上停留 15 秒,在另一个页面上停留 15 秒,就会出现弹出窗口。

提前致谢

最佳答案

这里要克服的根本问题是在页面之间传递“状态”。由于您已经在您的示例中使用了 cookie,我们将使用它。您需要使用用户访问网站的时间(最初为 0)设置一个 session cookie。然后,您需要每隔一段时间(可能每 5 秒)“轮询”一次 cookie,以更新站点计数的总时间,然后读回。如果超过 30 秒,则触发弹出窗口。

所以不要使用:

setTimeout(function() {
// open alert box
}, 30000);

你会做类似的事情:

setTimeout(function() {
// Increment 'time-on-site' cookie value by 5000
// Then, if 'time-on-site' cookie value >= 30000, fire popup
}, 5000);

更新当然,这需要与服务器进行更多的来回通信,因为您需要每 5 秒就更新一次的值进行通信。

关于javascript - 即使用户正在导航到其他页面,也会在一段时间后打开弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com