PWA:Service worker生命週期事件對網路資源的處理
services worker 註冊
window.onload=function(){//網頁載入完執行
if('serviceWorker'in navigator){//瀏覽器相容
navigator.serviceWorker.register('sw.js')//註冊serviceworker並返回一個promise物件
.then(resitration=>{console.log(resitration)})
.catch(err=>{console.log(err)})
}
}
sw.js
console.log('111111111111111');
開啟VS自帶的伺服器
services worker 生命週期
Service worker生命週期事件
** instal事件會在service worker註冊成功的時候觸發,主要用於快取資源**
** activate事件會在service worker啟用的時候觸發, 主要用於刪除舊的資源**
fetch事件會在傳送請求的時候觸發,主要用於操作快取或者讀取網路資源
●如果sw.js發生 了改變,install事件 會重新觸發
●activate事件會在insall事件後觸發,但是如果現在已經存在service worker了, 那麼就處於等待狀態,直到
當前service worker終止
●可以通過self.skiWaiting()方法跳過等待, 返回一個promise物件
self.addEventListener('install',event=>{ console.log('install',event); self.skipWaiting(); });
●可以通過event.waitUntil0方法擴的引數是一個promise物件, 會在promise結束後才會結束當前生命週期函式,防止瀏覽器在非同步操作之前就停止了生命週期
self.addEventListener('install',event=>{ console.log('install',event); event.waitUntil(self.skipWaiting()); });
●service worker啟用後, 會在下次重新整理頁面的時候生效,可以通過self.clients.claim()立即獲取控制權
self.addEventListener('activate',event=>{ console.log('activate',event); event.waitUntil(self.ClientRectList.claim() ); });
fetch事件,抓取網路請求
相關文章
- JavaScript 是如何工作的:Service Worker 的生命週期及使用場景JavaScript
- [譯] JavaScript 是如何工作的:Service Worker 的生命週期與使用場景JavaScript
- Service Worker 在 PWA 中的應用
- 謹慎處理 Service Worker 的更新
- Android Service生命週期淺析Android
- service worker 對靜態資源進行快取快取
- 在專案中使用Service Worker 與 PWA
- PWA進階:Service Worker一問一答
- 對Elasticsearch生命週期的思考Elasticsearch
- Safari支援Service Worker,PWA還有多久爆發?
- Android Service生命週期 Service裡面的onStartCommand()方法詳解Android
- Service Worker 圖片載入失敗處理
- Service Worker學習與實踐(二)——PWA簡介
- React元件的狀態及生命週期事件React元件事件
- 新手對React生命週期的理解React
- 2_Bean的生命週期和常見的後處理器Bean
- Kubernetes中資源清單與Pod的生命週期(二)
- Android學習路線_入門篇(五)Service的生命週期與如何保活Android
- View生命週期與Activity生命週期的關係View
- 感知生命週期的資料 -- LiveDataLiveData
- 個人對vue中生命週期的理解Vue
- 生命週期
- Spring的生命週期Spring
- bean的生命週期Bean
- Servlet的生命週期Servlet
- SQL的生命週期SQL
- UIViewController的生命週期UIViewController
- Flutter 的生命週期Flutter
- 類的生命週期
- Laravel的生命週期Laravel
- viewController的生命週期ViewController
- nginx 是如何處理過期事件的?Nginx事件
- 我對 React v16.4 生命週期的理解React
- 蘋果官方對PWA支援步伐奇快, iOS 11.3 和 macOS 10.13.4 將預設支援Service Worker蘋果iOSMac
- 品牌生命週期和產品生命週期之間的關係
- <react學習筆記(4)>元件的生命週期(執行階段和銷燬階段)以及事件處理函式React筆記元件事件函式
- ubuntu生命週期Ubuntu
- vue生命週期Vue