对于我的移动应用程序,我想使用 pushState 和 AppCache,但这似乎很棘手。
为了使 pushState 工作,我的 Web 服务器将每个 url(除了清单文件本身、图像、css 和 js 文件等资产)重定向到/index.html
内部。
例如,请求将分别/articles/123
重定向到(因此最初请求的 URL 在浏览器中仍然可见)。/
/index.html
这会导致对 的请求 到manifest.appcache
错误的路径,例如/articles/123/manifest.appcache
而不是/manifest.appcache
,这导致浏览器为每个直接访问的 URL(例如通过 Google 搜索)创建一个新的缓存组的问题
我重定向(.*)/manifest\\.appcache
到/manifest.appcache
并对其进行了解释,因此应该可以按预期工作。我认为主要问题是浏览器manifest.appcache
在 URL 级别而不是域级别上处理文件。
因此,这导致我提出以下问题:
这是一种可行的方法吗?
如果是,我可以告诉浏览器在域级别使用 AppCache 吗?如何?
如果没有,我没有考虑什么?