Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope 在sw.js 中注册了 install 和 fetch 事件(如下所示),都是比较精简的代码,caches 就是 CacheStorage,提供了 open()、match
每个Service Worker 都有一个独立于 Web 页面的生命周期,如下图所示,其中 Cache API 是指CacheStorage,可对缓存进行增删改查。 在主线程中注册 Service Worker 后,触发 install 事件,安装 Service Worker 并且解析和执行 Service Worker 文件(常以 sw.js 命名)。 当install 事件回调成功时,触发 activate 事件,开...
CacheStorage 通过self.caches 访问 CacheStorage 对象。CacheStorage时字符串和Cache对象的映射。CacheStorage在页面或者其他工作者线程中,都可以访问使用。 // 访问缓存,如果没有缓存则会创建 self.caches.open(key) CacheStorage也拥有类似Map的API,比如has,delete,keys(),但是它们都是返回Promise的 ...
letisCacheSupported ='caches'inwindow; caches 是 CacheStorage 的一个实例。 创建/初始化Cache 我们可以使用 open 方法创建一个具有 name 的缓存,这将返回 promise。如果缓存已经存在,则不会创建新的缓存。 caches.open('cacheName').then(cache=>{ }); 你不能访问为其他源(域)设置的缓存。 你正在创建的...
storage: {}, buildCache:function(item){ var key,cache = dom.storage; //如果是window if ( item.setInterval && ( item !== window && !item.frameElement )) { key = "dom-window" }else if(item.nodeType){ if(!item.uuid){ item.uuid = "dom" + dom.uuid++ ...
caches是CacheStorage的一个实例。 创建/初始化Cache 我们可以使用open方法创建一个具有name的缓存,这将返回promise。如果缓存已经存在,则不会创建新的缓存。 caches.open('cacheName').then(cache=>{}); 你不能访问为其他源(域)设置的缓存。 你正在创建的缓存将为你的域创建。
WebStorageCache对 HTML5 localStorage 和 sessionStorage 进行了扩展,添加了超时时间,序列化方法。可以直接存储 JSON 对象,同时可以非常简单的进行超时时间的设置。 优化:WebStorageCache 自动清除访问的过期数据,避免了过期数据的累积。另外也提供了清除全部过期数据的方法:wsCache.deleteAllExpires(); ...
使用 CacheStorage.open(cacheName) 打开一个Cache 对象,再使用 Cache 对象的方法去处理缓存. 你需要定期地清理缓存条目,因为每个浏览器都硬性限制了一个域下缓存数据的大小。缓存配额使用估算值,可以使用 StorageEstimate API 获得。浏览器尽其所能去管理磁盘空间,但它有可能删除一个域下的缓存数据。浏览器要么自动...
网页可以使用多种技术将数据存储在客户端上。Chrome DevTools中的Application面板允许你添加,检查,修改和删除cookie,cache storage、localStorage、sessionStorage、IndexedDB和Web SQL中保存的值。 Chrome中的Storage标签显示本地存储了多少数据,并提供了一个快速的Clear site data选项。
Storage - 基本的数据存储管理,支持 自定义缓存。 Cache - 功能丰富的数据存储管理,支持 自定义缓存 命名空间 数据过期时间 限制缓存数量 自定义事件。快速入门安装modulenpm install cache2yarn add cache2pnpm add cache2umd如果你的项目使用的是原生方式开发,可以在浏览器中使用 script 标签直接引入文件,并使用...