Service Worker笔记

是什么:

service worker是一个脚本,由浏览器在背后默默地运行,独立于web页面。它给一些不需要页面显示和用户操作的功能 开启了一扇新的大门。


使用场景:

离线缓存,拦截请求,加入自己处理逻辑



生命周期:

下载-安装-激活


两个常用方法

clients.claim的作用是使当前SW接管已经打开的所有标签页,使用场景是用户首次打开注册sw的页面时,还存在其他同域页面的浏览器标签的情况。之前打开的页面没有被接管,所以通过clients.claim接管已经打开但没受到控制的浏览器标签页面。

skipWaiting的使用场景是在sw更新时,因为有上一个sw正在控制着所有该站点的页面,新的sw在active后进入waiting状态,直到用户将所有该站点页面关闭,新的sw才上位。这跟Chrome和VScode的更新机制一样,在使用过程中有更新的时候,并不影响你继续使用老版本,而是在重启程序后,直接才变成新版。通过skipWaiting方法,可以直接让waiting状态的新sw替换掉老的sw,注意 还会自动接管上一个sw管辖的页面

使用介绍

demo地址:

https://github.com/pp-show/Service-Worker.git

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容