对于我的移动应用程序,我想使用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/

10-12 02:46