javascript - 如何使我的单一 HTML 网页在 Chrome 中离线可用?

标签 javascript google-chrome html offline-browsing

我在我的网络服务器上托管一个单一的 HTML 网页(所有设计元素都包含在 .html 文件本身中),我想让它在我的用户离线时可用。它应该是这样工作的:当用户在线时,他访问我的网页,Chrome 将 .html 文件保存在本地;当用户离线并尝试访问我的网页时,Chrome 正在使用本地 .html 文件。即使在离线模式下,JavaScript 也必须在网页上运行。用户在访问我的页面时绝不能看到您离线错误消息,并且我页面的保存副本不得从浏览器缓存中过期至少 2 周。一切都必须自动为用户工作,无需更改 Chrome 设置,也无需安装 Chrome 扩展程序。这可能吗?

包含的 JavaScript 足够智能,可以使用 window.localStorage 保存数据,并在用户再次在线时立即将其与服务器同步。

最佳答案

我自己从未这样做过,但您可以使用缓存 API(service-worker API 的一部分)来存储 URL 可寻址资源(如 html 文件)。

您可以设置 HTTP header ,使其在 2 周或更长时间后过期。但是,如果有人清除了他们的缓存(例如有时删除了他们的浏览器历史记录),它就会消失。

https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/offline-for-pwa

这是指南---> https://davidwalsh.name/cache

关于javascript - 如何使我的单一 HTML 网页在 Chrome 中离线可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45795994/

相关文章:

javascript - 无法在 Chrome 中呈现面板。在 Firefox 中运行良好

google-chrome - Chrome 下载 PNG 图像链接。我希望它们在新选项卡中打开以供查看。我如何让 Chrome 做到这一点?

html - 一行中的两个输入字段,一个左对齐,一个右对齐

javascript - Vue.js : Set an HTML attribute inside v-for based on array data

javascript - 涉及异步调用时,如何设置具体的执行顺序?

javascript - 两个音频文件一一播放

html - 如何从多个类别中选择第 n 个类型?

javascript - 下拉重定向 - 提交

javascript - Chrome 通过什么来加速页面渲染?

javascript - 使用 javascript 从 HTML 转换为文本时出现问题