使用服务工作线程的脱机 JavaScript 应用是否可以在浏览器重新启动后工作



应用程序缓存作为创建离线浏览器应用程序的一种方式已被弃用。制作脱机 Web 应用的当前方法是使用服务工作进程。

服务工作进程允许您引导所有网络请求并为它们提供内容。由于服务工作者即使在用户关闭选项卡时也可以运行,因此它可以在 Internet 暂时无法正常工作时提供缓存的内容。

然而,当我对离线 Web 应用程序感兴趣时,这是因为我希望即使我永久无法访问互联网也能使用。我创建了简单的离线应用程序,但是当我关闭并打开浏览器 时它不起作用 - 我收到无法加载页面的消息。

有没有办法让服务工作者离线应用程序即使在浏览器关闭并重新打开后也能正常工作?如果没有,是否有任何计划的标准?这对移动用户来说非常有价值。

使用服务工作者的离线 JavaScript 应用是否可以在浏览器重启后工作?

是的,它可以,只要它之前缓存了所有资源。此示例将介绍确保这一点的步骤。

这样做的原因是,当您导航到注册服务工作进程的 URL 时,将激活服务工作进程的缓存副本,并有机会满足对应用的网络请求。因此,如果你已缓存所有内容,并且通过处理 fetch 事件来满足所有请求,则你的应用可以完全脱机。

在服务工作者领域有很大的发展。Chrome处于领先地位,但Firefox紧随其后。但是,IE支持可以忽略不计。

您可以看到 W3C 工作草案。有关浏览器支持,请查看例如 此处.

我还建议看看Nolan Lawson的 pokedex.org 应用程序,它是一个基于服务工作者的离线Web应用程序。

最新更新