add()
方法在
缓存
interface takes a URL, retrieves it, and adds the resulting response object to the given cache.
add()
method is functionally equivalent to the following:
fetch(url).then(function(response) {
if (!response.ok) {
throw new TypeError('bad response status');
}
return cache.put(url, response);
})
For more complex operations, you'll need to use
Cache.put()
直接。
注意
:
add()
will overwrite any key/value pair previously stored in the cache that matches the request.
cache.add(request).then(function() {
// request has been added to the cache
});
Request
object or a URL.
A
Promise
that resolves with
undefined
.
| 异常 | Happens when |
|---|---|
TypeError
|
The URL scheme is not
http
or
https
.
The Response status is not in the 200 range (i.e., not a successful response.) This occurs if the request does not return successfully, but also if the request is a cross-origin no-cors request (in which case the reported status is always 0.) |
This code block waits for an
InstallEvent
to fire, then calls
waitUntil()
to handle the install process for the app. This consists of calling
CacheStorage.open
to create a new cache, then using
Cache.add
to add an asset to it.
this.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function(cache) {
return cache.add('/sw-test/index.html');
})
);
});
| 规范 | 状态 | 注释 |
|---|---|---|
|
服务工作者
The definition of 'Cache: add' in that specification. |
工作草案 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
add
|
Chrome
44
注意事项
|
Edge 16 |
Firefox
39
注意事项
|
IE 不支持 No |
Opera
31
注意事项
|
Safari 11 |
WebView Android
44
注意事项
|
Chrome Android
44
注意事项
|
Firefox Android 39 |
Opera Android
32
注意事项
|
Safari iOS 11 |
Samsung Internet Android
4.0
注意事项
|
完整支持
不支持
实验。期望将来行为有所改变。
见实现注意事项。
缓存
CacheStorage
Client
Clients
ExtendableEvent
FetchEvent
InstallEvent
Navigator.serviceWorker
NotificationEvent
PeriodicSyncEvent
PeriodicSyncManager
PeriodicSyncRegistration
ServiceWorker
ServiceWorkerContainer
ServiceWorkerGlobalScope
ServiceWorkerRegistration
SyncEvent
SyncManager
SyncRegistration
WindowClient