簡體   English   中英

我想在用戶進入網站3分鍾后彈出一個窗口

[英]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的好用法:

  1. 在初始頁面加載時,檢查是否存在sessionStorage項目
  2. 如果該項目不存在,請使用當前日期/時間填充
  3. 如果該項目確實存在,請使用setInterval輪詢並比較時間,例如每100毫秒一次。 如果3分鍾過去了,請彈出消息。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM