注册service worker
<script>
window.addEventListener("load", () => {
if (navigator.serviceWorker) {
navigator.serviceWorker.register("./pw.js")
.then(registeration => {
console.log(registeration);
})
.catch(err => {
console.log(err);
})
}
})
</script>
pw.js
// 代码加载完执行
self.addEventListener("install", event => {
console.log("install");
// skipWaiting 停止当前的service work 运行最新的serviceworker
// waitUntil skipWaiting返回的是promise 等primise执行完后 在进行下一个生命周期函数
event.waitUntil(self.skipWaiting());
})
// 代码执行前触发
self.addEventListener("activate", event => {
event.waitUntil(self.clients.claim());
})
// 有网络请求时触发
self.addEventListener("fetch", event => {
console.log("fetch");
})