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