浏览器根对象window之caches
在控制台输入window. caches可输出一个叫做CacheStorage的对象,它用来存储 Response 对象的。也就是说用来对 HTTP ,响应做缓存的。虽然 localStorage 也能做,但是它可能更专业。
CacheStorage 在浏览器上的引用名叫 caches 而不是驼峰写法的 cacheStorage,它定义在 ServiceWorker 的规范中。CacheStorage 是多个 Cache 的集合,而每个 Cache 可以存储多个 Response 对象。
caches.delete('c1'); caches.delete('c2'); Promise.all([ caches.open('c1').then(function(cache) { return cache.put('/hehe', new Response('aaa', { status: 200 })); }), caches.open('c2').then(function(cache) { return cache.put('/hehe', new Response('bbb', { status: 200 })); }) ]).then(function() { return caches.match('/hehe'); }).then(function(response) { return response.text(); }).then(function(body) { console.log(body); }); |
首先,在 caches 上调用 open 方法就可以异步地得到一个 Cache 对象的引用。在这个对象上我们可以把 Response 对象 put 进去(参数是一个 URL 和一个 Response 对象)、用 match 方法取出(传入一个 URL 取出对应的 Response 对象)。
match 方法不仅可以在 Cache 上调用 CacheStorage 上也有 match 方法,比如上面例子就打开了两个 Cache,都写入一个叫 /hehe 的 URL。在写入操作完成之后,到外部的 CacheStorage 上调用 match 方法来匹配 /hehe,结果是随机的(没找到这个规则在哪里定义的)。
虽然上面的例子中只对 Cache 对象 put 了一个数据,而 Cache 对象本身可以存放更多的 URL/Response 对。并且提供了 delete(用户删除)、keys(用于遍历)等方法。但是 Cache 并不像 localStorage 一样有 clear 方法,如果非要清空一个 Cache,可以直接在 CacheStorage 上把整个 Cache 给 delete 掉再重新 open。
这套 API 和 ServiceWorker 一家的,它通常被用于 ServiceWorker 中,整个设计风格也和 ServiceWorker 一样都基于 Promise。
转载于:https://www.cnblogs.com/ndos/p/8261700.html
浏览器根对象window之caches相关推荐
- 浏览器根对象window之performance
Navigator的5个主要属性: appName:Web浏览器的名称 appVersion:浏览器的版本号和其他版本信息 userAgent:浏览器在它的USER-AGENT HTTP标题中发送的字 ...
- 浏览器根对象document之字符串属性
1.1 停止使用的属性 fgColor.linkColor.vlinkColor.alinkColor.bgColor. 1.2 文档地址 document.URL 与documentURI属性返回同 ...
- 浏览器对象模型:window对象2
---恢复内容开始--- window对象代表当前浏览器中的窗口或标签,位于浏览器对象模型中的最顶端,其中包含了描述浏览器的对象. 属性 ...
- Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题
问题场景: 使用java 掉用js代码,发现 ScriptEngine不支持浏览器内置对象window,document的问题: 问题一:为什么要 用java掉用js代码? 比如在 抓取(爬取)对方网 ...
- java获取浏览器window对象,Window 浏览器窗口对象
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. Window 浏览器窗口对象 代表整个窗口Window属性如 ...
- JavaScript 的自定义对象 、内置对象、 浏览器对象(window对象以及子对象)、Dom对象
JS 中的 Object从本质上看,Object 是一个构造函数,用于创建对象. console.dir(Object); //ƒ Object() var obj = new Object(1); ...
- JavaScript浏览器的对象
一,JS浏览器对象-window对象 1.可以直接作为对象调用函数,window本身也有一些元素:innerHeight和 innerWidth 2.open() 和 close() 函数 < ...
- JavaScript的全局作用域、全局对象window
不在任何函数内定义的变量就具有全局作用域.实际上,JavaScript默认有一个全局对象window ,全局作用域的变量实际上被绑定到window 的一个属性: 'use strict';//严格模式 ...
- JavaScript浏览器对象Window对象常用方法(3)
1.window对象常用方法 1.window对象常用方法见表 有时候定时器有很多这个时候我们就需要给定时器设置一个名字,如以下代码所示: var times1 = setTimeout(" ...
- JS中document对象 window对象
所有的全局函数和对象都属于Window对象的属性和方法. 区别: 1.window 指窗体.Window 对象表示浏览器中打开的窗口. document指页面.document是window的一个子对 ...
最新文章
- 多页面(MPA)开发 VS 单页面(SPA)开发
- python如何处理异常,让程序不结束继续运行?
- python 开发工具_「干货」推荐一整套 Python 开发工具
- rk3399 io工具的使用示例
- Ubuntu20.10 安装RedNotebook,一款不错的日记本
- linux安装系统识别不到硬盘,安装系统找不到硬盘解决方法【图文教程】
- 从应用层设置mx31-pdk板的lcd背光亮度
- 计算机常用计算单位换算关系,计算机单位换算
- WebDriver - 设置浏览器启动语言
- 炫界 (667) -(回应骑两小)_西番莲小棚架高产优质栽培技术,既能高产,又能保证质量...
- 分析注释 sequence_input_layer.py
- iDB-数据库自动化运维平台
- RTX客户端插件开发 for Delphi XE6 (一)
- 101条计算机经典名言(英汉对照版)
- 69的人因为穷不谈恋爱,这届年轻人脱单太难了
- 前端ajax实现分页思路详解
- HTML+CSS+Javascript简易记账本(localStorage)
- Android平板app开发布局文件,Android平板开发相关
- python可以自学吗需要什么基础-自学python需要什么基础,要掌握哪些知识?
- 肖申克的救赎(转贴)
热门文章
- 事务失败返回_分布式事务有这一篇就够了!
- MAC上安装JDK后的所在目录
- onfigure: error: cannot find install-sh, install.sh, or shtool in
- 没有用括号确定操作符的优先级顺序,导致错误一例
- GIT在WINDOWS/LINUX下载的源码,回车换行有差异
- Windows下杀进程的命令
- LINUX中获得cpu名称
- 解决TortoiseGit文件夹和文件状态图标不显示问题
- 解决办法:KeyError: ‘ExpandBackward’及老版本pytorch/torchvision的安装办法。
- LINUX获得毫秒时间戳的代码