我需要对此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秒,则获取弹出窗口。
预先感谢您
这意味着每5秒钟一次“平”式请求。很多饼干和吨的编码,对吧?如果是这样,我会放弃这部分,只将30秒超时减少到15秒。感谢您的解释和答复。 – demlasjr 2012-08-01 10:58:20
是的,如果你想通过回传给服务器来维护状态。虽然我猜你可以通过设置在页面加载时为该域存在的'document.cookie'来简化它。另一种方法是计算每次页面加载时首次访问的时间偏移量,这会有点粗糙。 – 2012-08-01 11:04:41
你是说这个吗? https://developer.mozilla.org/en/DOM/document.cookie – demlasjr 2012-08-01 11:31:33