问题
I have my domain, abc.com
, and an iframe inside my page 123.com
. I own the code for each domain.
With a service worker I can load abc.com
while offline but my iframe for 123.com
does not load, even if I add its files to my cache.addAll
call.
How can I get my iframe to render while offline? Examples welcome.
<!DOCTYPE html>
<html>
<head></head>
<body>
will render offline
<!-- will not render offline -->
<iframe src="123.com"></iframe>
</body>
</html>
回答1:
Loading an <iframe>
is very similar to loading a full page in a new tab/window. The request for the <iframe>.src
will trigger any fetch
handlers on a service worker whose scope covers the <iframe>.src
, i.e. in your case, a service worker whose scope covers https://123.com/
.
The FetchEvent
that's passed to the fetch
handler will have a request.mode
of 'navigate'
, just like a navigation to a new page in a standalone tab/window would have.
来源:https://stackoverflow.com/questions/44447482/can-an-iframe-render-offline-with-a-service-worker