Baseline Widely available *
ãã㯠fetch
ã¤ãã³ãç¨ã®ã¤ãã³ãåã§ããµã¼ãã¹ã¯ã¼ã«ã¼ã®ã°ãã¼ãã«ã¹ã³ã¼ãã«é
ä¿¡ããã¾ããããã«ã¯ããªã¯ã¨ã¹ãããåãæãã©ãã¬ã¹ãã³ã¹ãæ±ãã®ãã¨ãã£ãããã§ããã«é¢ããæ
å ±ãå«ã¾ãã¦ãã¾ããããã¯ããã®ãã§ããã¸ã®ã¬ã¹ãã³ã¹ãæä¾ãã event.respondWith()
ã¡ã½ãããæä¾ãã¾ãã
FetchEvent()
æ°ãã FetchEvent
ãªãã¸ã§ã¯ãã使ãã¾ãã ãã®ã³ã³ã¹ãã©ã¯ã¿ã¼ã¯é常ã¯ä½¿ç¨ãã¾ããã ãã©ã¦ã¶ã¼ã¯ãã®ãªãã¸ã§ã¯ãèªä½ã使ã㦠fetch
ã¤ãã³ãã®ã³ã¼ã«ããã¯ã«æä¾ãã¾ãã
ç¥å
ã§ãã Event
ããããããã£ãç¶æ¿ãã¦ãã¾ãã
FetchEvent.clientId
èªåå°ç¨
ãã§ãããéå§ããåä¸ãªãªã¸ã³ã®ã¯ã©ã¤ã¢ã³ã
ã® id
ã§ãã
FetchEvent.preloadResponse
èªåå°ç¨
Response
ã®ããã® Promise
ãã¾ãã¯ãã®ãã§ãããããã²ã¼ã·ã§ã³ã§ãªãå ´åããããã²ã¼ã·ã§ã³ã®å
èªã¿ãæå¹ã«ãªã£ã¦ããªãå ´å㯠undefined
ã§ãã
FetchEvent.replacesClientId
èªåå°ç¨
ãã¼ã¸ã®ããã²ã¼ã·ã§ã³ä¸ã«ç½®ãæããããã¯ã©ã¤ã¢ã³ã
ã® id
ã§ãã
FetchEvent.resultingClientId
èªåå°ç¨
ãã¼ã¸ã®ããã²ã¼ã·ã§ã³ä¸ã«åã®ã¯ã©ã¤ã¢ã³ããç½®ãæããã¯ã©ã¤ã¢ã³ã
ã® id
ã§ãã
FetchEvent.request
èªåå°ç¨
ãã©ã¦ã¶ã¼ãè¡ããã¨ãã¦ãã Request
ã§ãã
親ã§ãã ExtendableEvent
ããã¡ã½ãããç¶æ¿ãã¦ãã¾ãã
FetchEvent.respondWith()
ãã©ã¦ã¶ã¼æ¢å®ã®ãã§ããå¦çãææ¢ããèªèº«ã®ã¬ã¹ãã³ã¹ï¼ã®ãããã¹ï¼ãæä¾ãã¾ãã
ExtendableEvent.waitUntil()
ã¤ãã³ãã®åç¶æéãå»¶é·ãã¾ãã ã¹ããªã¼ãã³ã°ããã£ãã·ã¥ãªã©ãã¬ã¹ãã³ã¹ã®è¿å´ãè¶ ãã¦å»¶é·ããã¿ã¹ã¯ããã©ã¦ã¶ã¼ã«éç¥ããããã«ä½¿ç¨ãã¾ãã
ãã® fetch ã¤ãã³ãã¯ã GET 以å¤ã®ãªã¯ã¨ã¹ãã«å¯¾ãã¦ãã©ã¦ã¶ã¼æ¢å®ã®ãã®ã使ç¨ãã¾ãã GET ãªã¯ã¨ã¹ãã«å¯¾ãã¦ã¯ãã£ãã·ã¥ããä¸è´ãããã®ãè¿ããã¨ãããªãå ´åã¯ãããã¯ã¼ã¯ããèªã¿åãã¾ãããã£ãã·ã¥ã«ä¸è´ãããã®ãè¦ã¤ãã£ãå ´åãæ¬¡åããã«ãã£ãã·ã¥ãéåæã«æ´æ°ãã¾ãã
self.addEventListener("fetch", (event) => {
// GET 以å¤ã®ãªã¯ã¨ã¹ãã§ã¯ããã©ã¦ã¶ã¼ã«æ¢å®ã®ãã¨ãããã
if (event.request.method !== "GET") return;
// æ¢å®ã®ãã¨ãè¡ãããèªåèªèº«ã®ãªã¯ã¨ã¹ããæ±ã
event.respondWith(
(async () => {
// ãã£ãã·ã¥ããã¬ã¹ãã³ã¹ã®åå¾ã試ã¿ã
const cache = await caches.open("dynamic-v1");
const cachedResponse = await cache.match(event.request);
if (cachedResponse) {
// ãã£ãã·ã¥ã«ä¸è´ãããã®ãè¦ã¤ãã£ãå ´åã¯è¿å´ãã
// ããã¯ã°ã©ã¦ã³ãã§ãã£ãã·ã¥å
ã®é
ç®ãæ´æ°
event.waitUntil(cache.add(event.request));
return cachedResponse;
}
// ãã£ãã·ã¥ã«ä¸è´ãããã®ããªããã°ããããã¯ã¼ã¯ã®ãã®ã使ç¨
return fetch(event.request);
})(),
);
});
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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