首頁 > web前端 > js教程 > 如何在 JavaScript 中可靠地檢測瀏覽器視窗關閉?

如何在 JavaScript 中可靠地檢測瀏覽器視窗關閉?

Patricia Arquette
發布: 2024-11-27 16:23:10
原創
970 人瀏覽過

How Can I Reliably Detect Browser Window Closure in JavaScript?

JavaScript:透過window.close 事件偵測視窗關閉

問題:

擷取window.close 事件:

捕獲window.close 事件是必要的用於偵測使用者何時關閉瀏覽器視窗或離開特定的頁面。

解決方案:

此解決方案的實作因瀏覽器相容性而異。

    2024 年更新:
  • 信標API: 即使用戶退出頁面也會完成的 POST 要求。非常適合發送會話資料、分析等。
Visibilitychange 事件:

當文件轉換為「隱藏」狀態(頁關閉或導覽離開)時觸發的最後一個可靠事件。

詳細資料:

var url = "https://example.com/foo";
var data = "bar";

navigator.sendBeacon(url, data);
登入後複製

信標API

document.addEventListener('visibilitychange', function() {
  if (document.visibilityState === "hidden") {
    // Send Beacon request or perform other actions
  }
});
登入後複製

Visibilitychange事件

跨瀏覽器支援:

如果需要支援舊版瀏覽器,
lifecycle.addEventListener('statechange', function(event) {
  if (event.originalEvent == 'visibilitychange' && event.newState == 'hidden') {
    // Send Beacon request or perform other actions
  }
});
登入後複製
生命週期.js

庫可以是使用:

    限制:
  • 廣告攔截器可能會幹擾 sendBeacon 請求,特別是跨源請求。
跨站點請求受到 CORS 限制。

以上是如何在 JavaScript 中可靠地檢測瀏覽器視窗關閉?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板