CacheStorage.has() - Web API 接口参考 编辑
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
CacheStorage
对象的 has()
方法返回一个 Promise
对象,当 Cache
对象有 cacheName
时被处理为 true
。
语法
caches.has(cacheName).then(function(boolean) { // true: 缓存存在 });
返回值
返回一个 Promise
对象,缓存存在时resolve的布尔值为 true
否则为 false
。
参数
- cacheName
- 一个表示你正在
CacheStorage
中查找的Cache
对象name的DOMString
.
例子
在下面的例子中首先检测是否有名为 v1 的缓存存在, 如果存在我们会向其添加内容,,如果不存在我们会做些对应的初始化动作。
caches.has('v1').then(function(hasCache) {
if (!hasCache) {
someCacheSetupfunction();
} else {
caches.open('v1').then(function(cache) {
return cache.addAll(myAssets);
});
}
}).catch(function() {
// 处理异常
});
规范
规范 | 状态 | 附加信息 |
---|---|---|
Service Workers CacheStorage | Working Draft | 初始定义 |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 40.0 | (Yes) | 44 (44)[1] | 未实现 | ? | 未实现 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | 未实现 | 未实现 | 44.0 (44) | (Yes) | (Yes) | (Yes) | 40.0 |
[1] Service workers (and Push) 在 Firefox 45 & 52 Extended Support Releases (ESR.)被默认禁用。
参考
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论