使用应用程序缓存,我可以轻松地使我的 Web 应用程序离线可用,并且它运行良好。我遇到的问题是我最近开始使用.htaccess
文件来重写 url
至
原则上加载“主页”后,一切仍然有效(因为所有页面都是通过 Ajax 加载的),但本地书签等不起作用。有没有办法用一个简单的服务工作者添加这个功能,同时仍然依赖应用程序缓存来完成其余的离线功能(因此允许 Firefox 和 Safari 依赖应用程序缓存,而 Chrome 和 Opera 可以完美地离线工作)。
使用应用程序缓存,我可以轻松地使我的 Web 应用程序离线可用,并且它运行良好。我遇到的问题是我最近开始使用.htaccess
文件来重写 url
至
原则上加载“主页”后,一切仍然有效(因为所有页面都是通过 Ajax 加载的),但本地书签等不起作用。有没有办法用一个简单的服务工作者添加这个功能,同时仍然依赖应用程序缓存来完成其余的离线功能(因此允许 Firefox 和 Safari 依赖应用程序缓存,而 Chrome 和 Opera 可以完美地离线工作)。
支持 Service Worker* 的浏览器使用 Service Worker 的存在作为触发器来禁用 Service Worker 范围内页面的 App Cache 功能。请参阅Service Worker 是否旨在替换 Appcache 或与 Appcache 共存?
我了解如何将服务工作者用于诸如重写 URL 之类的事情是独立于离线用例的,因此不应该干扰应用程序缓存,但是没有可以用来说“嘿,这是一个服务工作者的标志”与 App Cache 搭配得很好,所以让我两者都用。”
* 这适用于谷歌浏览器。由于其他浏览器添加了对 service worker 的支持,它们可能对 App Cache 有不同的策略。