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事件,抓取網路請求
相關文章
- Omi教程-生命週期和事件處理事件
- JavaScript 是如何工作的:Service Worker 的生命週期及使用場景JavaScript
- [譯] JavaScript 是如何工作的:Service Worker 的生命週期與使用場景JavaScript
- Service生命週期詳解
- Service Worker 在 PWA 中的應用
- 謹慎處理 Service Worker 的更新
- Android Service生命週期淺析Android
- service worker 對靜態資源進行快取快取
- PWA進階:Service Worker一問一答
- 在專案中使用Service Worker 與 PWA
- ReactJS 生命週期、資料流與事件ReactJS事件
- 使用Service Worker做一個PWA離線網頁應用網頁
- 對Elasticsearch生命週期的思考Elasticsearch
- android Fragments詳解六:處理fragement的生命週期AndroidFragment
- Android中bindService的使用及Service生命週期Android
- Android中startService的使用及Service生命週期Android
- 新手對React生命週期的理解React
- Service Worker 圖片載入失敗處理
- React元件的狀態及生命週期事件React元件事件
- Service Worker學習與實踐(二)——PWA簡介
- 2_Bean的生命週期和常見的後處理器Bean
- Android Service生命週期 Service裡面的onStartCommand()方法詳解Android
- Service的啟動、繫結,以及生命週期的筆記筆記
- 個人對vue中生命週期的理解Vue
- View生命週期與Activity生命週期的關係View
- 生命週期
- Flutter 的生命週期Flutter
- SQL的生命週期SQL
- Laravel的生命週期Laravel
- vue的生命週期Vue
- Fragment的生命週期Fragment
- App的生命週期APP
- View的生命週期View
- Servlet的生命週期Servlet
- bean的生命週期Bean
- 行業生命週期理論(轉載)行業
- 前端每週清單第 45 期: Safari 支援 Service Worker, Parcel 完整教程, 2017 前端大事件前端事件
- 對Angular中的生命週期鉤子的理解Angular