对于我的移动应用程序,我想使用pushState和AppCache,但这似乎很棘手。
为了使pushState工作,我的Web服务器在内部将每个URL(清单文件本身,图像,css和js文件之类的资源除外)重定向到/index.html
。
E.g。对/articles/123
的请求将分别重定向到/
/index.html
(因此最初请求的网址仍会在浏览器中显示)。
这会导致manifest.appcache
的请求到错误的路径,例如/articles/123/manifest.appcache
而不是/manifest.appcache
,这导致我们遇到浏览器为每个直接创建新缓存组的问题访问过的网址(例如通过Google搜索)
我将(.*)/manifest\\.appcache
重定向到/manifest.appcache
并对其进行解释,以便按预期工作。我认为主要问题是浏览器会在URL级别而不是域级别上处理manifest.appcache
文件。
因此,这引出了以下问题:
这是一种切实可行的方法吗?
如果是,我是否可以告诉浏览器在域级别使用AppCache以及如何使用?
如果不是,我在想什么?
答案 0 :(得分:2)
当您在manifest
元素上放置<HTML>
属性时,只需将路径正确设置为指向根目录:
<html manifest="/appcache.manifest">