JavaScript、瀏覽器和視窗關閉:追蹤使用者離開
追蹤使用者離開對於在使用者離開之前捕獲資料和執行操作至關重要一頁。雖然監視導航事件相對簡單,但在沒有使用者互動的情況下偵測視窗關閉或 URL 變更構成了挑戰。
捕獲視窗關閉事件
Beacon API,在現代中可用瀏覽器,提供了解決方案。 Beacon 要求的設計目的是,即使使用者突然離開頁面,也能執行關鍵操作。
要使用Beacon API,請使用以下程式碼片段:
var url = "https://example.com/foo"; var data = "bar"; navigator.sendBeacon(url, data);
舊版瀏覽器的替代方案
如果需要支援舊版瀏覽器,則visibilitychange事件提供後備。在這種情況下,從「被動」到「隱藏」的轉變意味著用戶即將離開。以下是範例:
document.addEventListener('visibilitychange', function() { if (document.visibilityState === "hidden") { // Perform desired actions (e.g., send beacon request) } });
可靠性和廣告攔截器
Visibilitychange 已成為現代瀏覽器中用戶退出的可靠指標。但是,廣告攔截器可能會幹擾信標請求,尤其是跨來源或源自已知追蹤域的情況。
跨站點注意事項
信標請求是尊重的 POST 請求CORS 限制。發出跨站請求時,請確保它們符合必要的要求,以避免被瀏覽器封鎖。
以上是即使瀏覽器關閉,如何可靠地追蹤使用者離開網頁的情況?的詳細內容。更多資訊請關注PHP中文網其他相關文章!