Baseline Widely available
å®å ¨ãªã³ã³ããã¹ãç¨: ãã®æ©è½ã¯ä¸é¨ã¾ãã¯ãã¹ã¦ã®å¯¾å¿ãã¦ãããã©ã¦ã¶ã¼ã«ããã¦ãå®å ¨ãªã³ã³ããã¹ã (HTTPS) ã§ã®ã¿å©ç¨ã§ãã¾ãã
ã¡ã¢: ãã®æ©è½ã¯ã¦ã§ãã¯ã¼ã«ã¼å ã§å©ç¨å¯è½ã§ãã
match()
㯠CacheStorage
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®ã¡ã½ããã§ãæä¸ã® Request
ã¾ã㯠URL æååãä¿åããã Response
ã®ãã¼ã§ãããã©ããããã§ãã¯ãã¾ãã ãã®ã¡ã½ããã¯ãResponse
ã® Promise
ãã¾ãã¯ä¸è´ãããã®ãè¦ã¤ãããªãå ´åã« undefined
ã«è§£æ±ºããã Promise
ãè¿ãã¾ãã
CacheStorage
ã«ã¯ãã¦ã£ã³ãã¦ã® Window.caches
ããããã£ã¾ãã¯ã¯ã¼ã«ã¼ã® WorkerGlobalScope.caches
ãä»ãã¦ã¢ã¯ã»ã¹ã§ãã¾ãã
Cache
ãªãã¸ã§ã¯ãã¯ä½æé ã«æ¤ç´¢ããã¾ãã
ã¡ã¢: caches.match()
ã¯ä¾¿å©ãªã¡ã½ããã§ãã åãã£ãã·ã¥ã«å¯¾ãã¦ï¼caches.keys()
ã«ãã£ã¦è¿ãããé åºã§ï¼ãResponse
ãè¿ãããã¾ã§ cache.match()
ãå¼ã³åºãã®ã¨åçã®æ©è½ã§ãã
match(request)
match(request, options)
弿°
request
ç
§åããã Request
ã ããã¯ãRequest
ãªãã¸ã§ã¯ãã¾ã㯠URL æååã«ãããã¨ãã§ãã¾ãã
options
çç¥å¯
match
æä½ã§ã®ç
§åæ¹æ³ãå¶å¾¡ããããããã£ãæã¤ãªãã¸ã§ã¯ãã å©ç¨å¯è½ãªãªãã·ã§ã³ã¯æ¬¡ã®ã¨ããã§ãã
ignoreSearch
è«çå¤ã§ãç
§åå¦çã URL ã®ã¯ã¨ãªã¼æååãç¡è¦ãããã©ãããæå®ãã¾ããä¾ãã°ãtrue
ã«è¨å®ããã¨ã http://foo.com/?value=bar
ã® ?value=bar
é¨åã¯ãç
§åããã¨ãã«ç¡è¦ããã¾ãã æ¢å®å¤ã¯ false
ã§ãã
ignoreMethod
è«çå¤ã§ã true
ã«è¨å®ããã¨ãç
§åå¦çã Request
ã® HTTP ã¡ã½ãããæ¤è¨¼ããªãããã«ãã¾ãï¼é常㯠GET
㨠HEAD
ã®ã¿ã許å¯ããã¾ãï¼ã æ¢å®å¤ã¯ false
ã§ãã
ignoreVary
è«çå¤ã§ã true
ã«è¨å®ããã¨ã VARY
ãããã¼ã®ç
§åãããªãããã«ç
§åå¦çã«æ¯æãã¾ãã ã¤ã¾ããURL ãä¸è´ããå ´åãResponse
ãªãã¸ã§ã¯ãã« VARY
ãããã¼ããããã©ããã«é¢ä¿ãªãä¸è´ãã¾ãã æ¢å®å¤ã¯ false
ã§ãã
cacheName
æååã§ãæ¤ç´¢ããç¹å®ã®ãã£ãã·ã¥ã表ãã¾ãã
Promise
ã§ãä¸è´ãã Response
ã«è§£æ±ºããã¾ãã æå®ããããªã¯ã¨ã¹ãã«å¯¾ããä¸è´ããã¬ã¹ãã³ã¹ãè¦ã¤ãããªãå ´åããã®ãããã¹ã¯ undefined
ã«è§£æ±ºããã¾ãã
ãã®ã³ã¼ãã¹ããããã¯ãMDN ã®åç´ãªãµã¼ãã¹ã¯ã¼ã«ã¼ã®ä¾ããã®ãã®ã§ãï¼åç´ãªãµã¼ãã¹ã¯ã¼ã«ã¼ãã©ã¤ãã§å®è¡ããã®ãè¦ãï¼ã ããã§ã FetchEvent
ãçºè¡ãããã®ãå¾
ã¡ã¾ããããã¦æ¬¡ã®ããã«ç¬èªã®ã¬ã¹ãã³ã¹ãæ§ç¯ãã¾ãã
CacheStorage
ã§ CacheStorage.match()
ã使ç¨ãã¦ããªã¯ã¨ã¹ãã«ä¸è´ãããã®ããããã©ããã確èªãã¾ããããããã°ããããæä¾ãã¾ããv1
ãã£ãã·ã¥ã open()
ã§éãã Cache.put()
ã使ç¨ãã¦æ¢å®ã®ãããã¯ã¼ã¯ãªã¯ã¨ã¹ãããã£ãã·ã¥ã«å
¥ãã return response.clone()
ã使ç¨ãã¦æ¢å®å¤ã®ãããã¯ã¼ã¯ãªã¯ã¨ã¹ãã®ã¯ãã¼ã³ãè¿ãã¾ãã put()
ãã¬ã¹ãã³ã¹ã®æ¬ä½ãæ¶è²»ãããããæå¾ã«å¿
è¦ã§ããself.addEventListener("fetch", (event) => {
event.respondWith(
caches.match(event.request).then((response) => {
// caches.match() ã¯å¸¸ã«è§£æ±ºãã¾ã
// ãã ããæåã®å ´åã¯ã¬ã¹ãã³ã¹ã«å¤ãããã¾ã
if (response !== undefined) {
return response;
} else {
return fetch(event.request)
.then((response) => {
// ã¬ã¹ãã³ã¹ã¯ 1 åã®ã¿ä½¿ç¨ã§ãã¾ã
// ã¯ãã¼ã³ãä¿åãã¦ã 1 çªç®ã®ã³ãã¼ããã£ãã·ã¥ã«å
¥ãã
// 2 çªç®ã®ã³ãã¼ãæä¾ããå¿
è¦ãããã¾ã
let responseClone = response.clone();
caches.open("v1").then((cache) => {
cache.put(event.request, responseClone);
});
return response;
})
.catch(() => caches.match("/gallery/myLittleVader.jpg"));
}
}),
);
});
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4