service worker

  service worker
    使用步骤
    <script>
       
        // 1 在网页加载完成的时候 注册 service worker
        window.addEventListener('load', () => {
            // 2 能力检测
            if ('serviceWorker' in navigator) {
                navigator.serviceWorker.register('./sw.js').then(registration => {
                    console.log(registration);
                }).catch(err=>{
                    console.log(err);
                })
            }
        })

       
 self.addEventListener('install', event => {
     
    console.log('install',event);
    //  会让 service  worker 跳过等待 直接激活进入到 activate 状态
    //  self.skipWaiting()
    // 等待 skipWaiting 结束 才进入到 activate
    event.waitUntil(self.skipWaiting())
     
 })

 self.addEventListener('activate', event => {
    console.log('activate',event);
    // 表示 service worker 激活后, 立即获取控制权
    event.waitUntil(self.clients.claim())
})
 

//   fetch 事件会在请求发送的时候触发
self.addEventListener('fetch', event => {
    console.log('fetch',event);
})

---------------

fetch
   // window 对象上有fetch属性
        fetch('./data.json').then(res=>{
            // res 请求得到的响应内容, 二进制的流
            // 调用 res.json()方法 可以把数据变成 json 格式
            // console.log(res);
            return res.json()
        }).then( data =>{
            console.log(data);
        })
       
 --------------------
posted @ 2022-02-07 15:25  13522679763-任国强  阅读(50)  评论(0)    收藏  举报