Baseline Widely available
ã¡ã¢: ãã®æ©è½ã¯ãµã¼ãã¹ã¯ã¼ã«ã¼å ã§ã®ã¿å©ç¨å¯è½ã§ãã
preloadResponse
㯠FetchEvent
ã¤ã³ã¿ã¼ãã§ã¤ã¹ã®èªã¿åãå°ç¨ããããã£ã§ã Promise
ãè¿ãã¾ããããã¯ãããã²ã¼ã·ã§ã³å
èªã¿ãçºçããå ´åã¯ããã²ã¼ã·ã§ã³å
èªã¿ã® Response
ã«è§£æ±ºãããã以å¤ã®å ´å㯠undefined
ã«è§£æ±ºãã¾ãã
ããã²ã¼ã·ã§ã³å
èªã¿ã¯ãããã²ã¼ã·ã§ã³å
èªã¿ãæå¹ã§ããããªã¯ã¨ã¹ãã GET
ãªã¯ã¨ã¹ãã§ããããã¤ããã²ã¼ã·ã§ã³ãªã¯ã¨ã¹ãï¼ãã¼ã¸ã iframe ãèªã¿è¾¼ãã¨ãã«ãã©ã¦ã¶ã¼ãçæï¼ã§ããå ´åã«èµ·åãã¾ãã
ãµã¼ãã¹ã¯ã¼ã«ã¼ã¯ã fetch ã¤ãã³ããã³ãã©ã¼ã§ãã®ãããã¹ãå¾ æ©ãããã¨ã§ããµã¼ãã¹ã¯ã¼ã«ã¼ã®èµ·åä¸ã«è¡ãããèªã¿è¾¼ã¿ãªã¯ã¨ã¹ãã®å®äºã追跡ãããã¨ãã§ãã¾ãã
å¤Promise
ã§ã Response
ã«è§£æ±ºãããããã以å¤ã®å ´å㯠undefined
ã«è§£æ±ºãã¾ãã
ãã®ã³ã¼ãã¹ããããã¯ã Speed up Service Worker with Navigation Preloads ï¼è±èªï¼ããã®ãã®ã§ãã
onfetch
ã¤ãã³ããã³ãã©ã¼ã¯ãfetch
ã¤ãã³ããå¾
ã¡åããã¾ãã èµ·åããããFetchEvent.respondWith()
ã«ãå¶å¾¡ããããã¼ã¸ã«æ»ããããã¹ã渡ãã¾ãã ãã®ãããã¹ã¯ããªã¯ã¨ã¹ãããããªã½ã¼ã¹ã«è§£æ±ºãã¾ãã
ãã Cache
ãªãã¸ã§ã¯ãã®ä¸ã«ä¸è´ãã URL ãªã¯ã¨ã¹ããããã°ãã³ã¼ãã¯ãã£ãã·ã¥ããã¬ã¹ãã³ã¹ãè¿ãããã®ãããã¹ãè¿ãã¾ãã ãã£ãã·ã¥ã«ä¸è´ãããã®ãè¦ã¤ãããªãã£ãå ´åãã³ã¼ã㯠preloadResponse
ã«ãããããã¹ãè¿ãã¾ãã ãã£ãã·ã¥ãå
èªã¿ãããã¬ã¹ãã³ã¹ã«ä¸è´ãããã®ããªãå ´åãã³ã¼ãã¯ãããã¯ã¼ã¯ããã¬ã¹ãã³ã¹ããã§ããããé¢é£ãããããã¹ãè¿ãã¾ãã
addEventListener("fetch", (event) => {
event.respondWith(
(async () => {
// å¯è½ãªå ´åã¯ãã£ãã·ã¥ããå¿çãã¾ã
const cachedResponse = await caches.match(event.request);
if (cachedResponse) return cachedResponse;
// ãã以å¤ã®å ´åã¯ãããªãã¼ãæ¸ã¿ã®ã¬ã¹ãã³ã¹ãããã°ããã使ç¨ãã¾ã
const response = await event.preloadResponse;
if (response) return response;
// ãã以å¤ã®å ´åã¯ããããã¯ã¼ã¯ã試ãã¾ãã
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