博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[PWA] Deal with caches in PWA
阅读量:6518 次
发布时间:2019-06-24

本文共 1616 字,大约阅读时间需要 5 分钟。

The takeway is to know when we should cache the content? When we should clean the caches?

1. When should cache the content?

const CACHE_NAME = 'v1';self.addEventListener('install', function (event) {    // waitUntil take a promise    event.waitUntil(        caches.open(CACHE_NAME).then(function (cache) {            return cache.addAll([                '/',                'js/main.js',                'css/main.css',                'imgs/icon.png',                'https://fonts.gstatic.com/s/roboto/v15/2UX7WLTfW3W8TclTUvlFyQ.woff',                'https://fonts.gstatic.com/s/roboto/v15/d-6IYplOFocCacKzxwXSOD8E0i7KZn-EPnyo3HZu7kw.woff'            ]);        })    );});

This should be done in the 'install' event.

 

2. When should clean old cache?

self.addEventListener('activate', function (event) {    // waitUntil take a promise    event.waitUntil(        // caches.keys, return all the cache names        caches.keys().then(function (cacheNames) {            return Promise.all(                // only get cache for this application                cacheNames.filter(function(name) {                    return name !== CACHE_NAME && name.startsWith('witter-');                }).map(function(cacheName) {                    // delete each cache by name                    return caches.delete(cacheName);                })            );        })    );});

This should be done in 'activate' event, the new cache should be already cached if the SW version doesn't change. If it does change, then the new version will be stored and we need to clean the old one,  the best place to do it is in the 'activate' event.

转载地址:http://agefo.baihongyu.com/

你可能感兴趣的文章
100-48微软(运算)
查看>>
playframework 打包在tomcat里部署
查看>>
MyBatis增强工具pndao-帮你自动写SQL
查看>>
HTTPS上线过程说明
查看>>
我的友情链接
查看>>
IPsec ***基础:认识IPsec ***
查看>>
CentOS7下解决yum install mysql-server没有可用包的问题
查看>>
并发和异步代码
查看>>
Java:GB18030字节数组与UTF8互转
查看>>
HADOOP集群部署
查看>>
centos7-docker-网络配置
查看>>
Java基础之面向对象的特征。
查看>>
nginx设置SSL反向代理
查看>>
经典算法大全之河内之塔
查看>>
菜鸟学Java笔记1
查看>>
chm editor
查看>>
Linux netstat 命令查看80端口状态
查看>>
乐观锁和悲观锁
查看>>
MySQL HandlerSocket插件 资料
查看>>
我的友情链接
查看>>