javascript - 如何使用 window.caches 从 window 对象中保存页面?

标签 javascript html service-worker

大多数保存“应用程序外壳”的示例都显示了服务 worker 的过程。但是我注意到您也可以从窗口访问缓存对象。

所以我的问题是,我可以从 a 页面本身保存页面以供离线使用吗?如果可以,那么 service worker 的意义何在?

最佳答案

这里有一个先有鸡还是先有蛋的问题:虽然您的网页可以通过 window.caches 读取和写入 service worker 可以访问的相同缓存,但您需要服务 worker 拦截网页的初始导航请求,以便使用缓存对其进行响应。

换句话说,使用 window.caches 假定您的页面已经加载,因此它不会帮助您在离线时加载页面。

关于javascript - 如何使用 window.caches 从 window 对象中保存页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44239518/

相关文章:

javascript - Magento:未定义productGridJsObject

javascript - 根据用户选择重新呈现折线图中路径的问题

html - CSS 样式优先级

php - 警告: mysqli_fetch_assoc() expects exactly 1 parameter, 2 given

javascript - 如何使用 Service Worker 内部的 fetch 请求模拟真实的 "visit"

javascript - 找不到express.js 文件

javascript - 获取被点击的元素onclick

javascript - 在 Joomla 中加载 JavaScript 函数 onload 事件

reactjs - React - 取消注册已注册的服务人员

dom - Service Worker `postMessage` 事件处理程序内 `fetch` 的计时