对于我的移动应用程序,我想使用 PushState 和 AppCache,但这似乎很棘手。
为了使 PushState 正常工作,我的 Web 服务器将每个 URL(除了 list 文件本身、图像、CSS 和 JS 文件等资源)在内部重定向到 /index.html
。
例如对 /articles/123
的请求将分别重定向到 /
/index.html
(因此最初请求的 URL 在浏览器中仍然可见) .
这会导致对 manifest.appcache
的请求发送到错误的路径,例如 /articles/123/manifest.appcache
而不是 /manifest.appcache
,这导致我们遇到一个问题:浏览器为每个直接访问的 URL(例如通过 Google 搜索)创建一个新的缓存组
我将 (.*)/manifest\\.appcache
重定向到 /manifest.appcache
并对其进行解释,因此应该按预期工作。我认为主要问题是浏览器在 URL 级别而不是域级别处理 manifest.appcache
文件。
所以这让我想到以下问题:
这是一种可行的方法吗?
如果是,我可以告诉浏览器在域级别使用 AppCache 以及如何操作?
如果不是,我还没有考虑到什么?
最佳答案
当您输入manifest
时<HTML>
上的属性元素只需正确设置路径以指向根目录:
<html manifest="/appcache.manifest">
关于html - AppCache和pushState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17529048/