[英]I want to popup a window 3 minutes after the user enters the site
如标题所述,我想在用户进入网站3分钟后弹出一个窗口。 问题是因为用户不会在单个页面上停留3分钟。 我不能使用JavaScript。 因为他可能会导航到我网站中的其他页面。 我尝试使用setTimeout,但是如果我导航到另一个页面,代码将再次刷新,它将无法正常工作。
您可以在服务器端使用会话。 将会话开始时间放入会话变量中。 每次请求新页面时,您都可以返回会话的开始时间。 然后,将此DateTime和当前服务器DateTime馈入全局javascript函数,该函数将负责进一步的计算以及显示弹出窗口。
请记住,我在这里也从服务器获取当前的DateTime,因为在大多数情况下,JavaScript检测到的DateTime与服务器的DateTime不同(由于托管位置等原因)。 使用此解决方案,唯一的缺点是您将无法跟踪客户端服务器往返造成的滞后。
听起来是sessionStorage的好用法:
sessionStorage值将在页面和页面重新加载之间保持不变。
例:
// Save date to sessionStorage
sessionStorage.setItem('your-key', new Date());
// Get saved date from sessionStorage
var date = sessionStorage.getItem('your-key');
如果使用此方法,您可能希望先回退到本地存储,然后再返回cookie。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.