重写 URL 的离线 Web 应用程序
Offline web application with rewritten URL's
使用应用程序缓存,我可以轻松地使我的 Web 应用程序脱机可用并且它运行良好。我遇到的问题是我最近开始使用 .htaccess
文件从
重写 url
到
加载 'homepage' 后,原则上一切仍然有效(因为所有页面都是通过 Ajax 加载的),但本地书签等不起作用。有没有什么方法可以通过一个简单的 service worker 添加此功能,同时仍然依赖应用程序缓存来实现其余的离线功能(从而允许 Firefox 和 Safari 回退到应用程序缓存,而 Chrome 和 Opera将完美脱机工作)。
支持 service worker* 的浏览器使用 service worker 的存在作为触发器来禁用 service worker 范围内页面的应用程序缓存功能。参见
我理解如何使用服务工作线程来重写 URL 等独立于离线用例,因此不应该干扰应用程序缓存,但是没有标志可以用来说明 "Hey, this is a service worker that plays nicely with App Cache, so let me use both."
* 这适用于 Google Chrome。由于其他浏览器增加了对服务工作者的支持,它们在应用程序缓存方面可能有不同的政策。
使用应用程序缓存,我可以轻松地使我的 Web 应用程序脱机可用并且它运行良好。我遇到的问题是我最近开始使用 .htaccess
文件从
到
加载 'homepage' 后,原则上一切仍然有效(因为所有页面都是通过 Ajax 加载的),但本地书签等不起作用。有没有什么方法可以通过一个简单的 service worker 添加此功能,同时仍然依赖应用程序缓存来实现其余的离线功能(从而允许 Firefox 和 Safari 回退到应用程序缓存,而 Chrome 和 Opera将完美脱机工作)。
支持 service worker* 的浏览器使用 service worker 的存在作为触发器来禁用 service worker 范围内页面的应用程序缓存功能。参见
我理解如何使用服务工作线程来重写 URL 等独立于离线用例,因此不应该干扰应用程序缓存,但是没有标志可以用来说明 "Hey, this is a service worker that plays nicely with App Cache, so let me use both."
* 这适用于 Google Chrome。由于其他浏览器增加了对服务工作者的支持,它们在应用程序缓存方面可能有不同的政策。