首頁 >web前端 >js教程 >如何保持 Chrome 擴充功能的 Service Worker 持久存在?

如何保持 Chrome 擴充功能的 Service Worker 持久存在?

Patricia Arquette
Patricia Arquette原創
2024-12-10 09:24:10976瀏覽

How Can I Keep a Chrome Extension's Service Worker Persistent?

Chrome 擴充中的持久 Service Worker

儘管本質上是暫時的,但可以在 Chrome 擴充中維護持久 Service Worker (SW)。這對於攔截特定請求中的資料並與之互動至關重要。

已知問題:

  • 超時軟體:預設情況下,軟體在5 後終止分鐘不活動或30 秒後沒有任何活動

解決方法:

漏洞利用(Chrome 110)

持續呼叫 chrome API 可延長 SW 生命週期。此錯誤被視為一項功能,並且很可能會保留。

Offscreen API (Chrome 109 )

Offscreen 文件接收訊息,讓 SW 長時間保持活動狀態。此解決方案目前沒有明顯的生命週期限制,但可能會發生變化。

nativeMessaging API (Chrome 105)

將軟體連接到 nativeMessaging 主機。只要連線持續存在,軟體就會保持活動狀態。

WebSocket API (Chrome 116)

每 25 秒或更短時間 Ping 一次 WebSocket 可確保軟體保持活動狀態。

Chrome 訊息傳遞API

在持久後台頁面和軟體之間交換訊息以使其保持活動狀態。

專用選項卡

打開一個專用選項卡作為可見的背景頁面,消除了SW的瞬態

注意:

  • 僅在關鍵任務期間啟用keep-alive 以避免不必要的記憶體使用。
  • 在儲存中儲存和復原 SW 的狀態以防止資料遺失崩潰時遺失。
  • 避免僅為了狀態管理而保留軟體;僅建議用於效能最佳化。

以上是如何保持 Chrome 擴充功能的 Service Worker 持久存在?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn