漸進式網頁應用程式 (PWA) 是一種模式,可讓您使用網頁技術,為行動裝置和桌機建構可安裝的新式應用程式。
建構現代化網頁體驗 (包括漸進式網頁應用程式) 的其中一項條件是,即使裝置處於離線狀態,應用程式也必須能繼續運作。也就是說,如果使用者在裝置上無法存取網路,就不會看到 Chrome 恐龍畫面!
所有 PWA 條件的目標,都是確保使用者在瀏覽網頁時,能獲得媲美應用程式的高品質體驗。Chrome 會先根據 PWA 條件執行檢查,再啟用 PWA 的安裝功能。
只有符合所有核心漸進式網頁應用程式安裝條件 (包括支援離線模式) 的應用程式,才能透過 Chrome 安裝到裝置。
先前的離線偵測邏輯
離線支援驗證已納入 PWA 安裝規定標準多年。直到最近,Chrome 仍無法透過 Service Worker 模擬要求,因此無法完整檢查離線行為是否正確。
這表示 Chrome 無法在離線檢查期間,驗證事件處理常式是否傳回 HTTP 200 的有效資源。fetch
Chrome 只會檢查 service worker 是否確實有 fetch
處理常式。
更新離線偵測邏輯
Chrome 89 新增透過 Service Worker 執行模擬離線要求的功能,可改善離線偵測邏輯,更準確地反映應用程式的實際離線支援情況。
我們原本打算使用這項新功能,確保 PWA 在離線時提供有效網頁,但目前已暫緩相關計畫。如果網頁有包含 fetch
事件處理常式的服務工作人員,可安裝性檢查仍會通過。
這對開發人員有什麼影響?
目前無須進行任何變更,但我們強烈建議您提供離線體驗,因為我們預計在日後使用更新後的邏輯檢查有效網頁。
您可以自行決定要提供哪種離線體驗。 其中一個極端是完全離線的體驗。也就是預先快取所有需要的資源和資料,並在使用者再次連線時,與伺服器同步處理資料。快取資源也有助於改善核心指標,因為這樣就不必每次都從網路下載資源。另一方面,您也可以使用自訂離線備援頁面。
Chrome 90 左右會移除開發人員工具「問題」分頁下方顯示的警告。