我正在尝试让HTML5 AppCache正常工作。
我有一个原型网站,其结构如下:
/offlineDemo/
。/lib/offlineDemo/js/
,/lib/offlineDemo/css/
等/lib/offlineDemo/assets/offlineDemo.appcache
。<html manifest='/lib/offlineDemo/assets/offlineDemo.appcache'>
这似乎在Chrome中运行良好。加载页面一次后,我可以断开网络连接,我仍然可以毫无问题地重新加载它。
然而在Firefox上却没有用。我试图使用开发工具命令行调试它,并且发生了奇怪的事情。
键入appcache list
会显示我网站中所有文件的列表,但主HTML页面本身除外。列出的文件显示文件大小为0,并且似乎实际上没有缓存。
键入appcache validate
会向我提供与尝试将404页面解析为清单文件相关的错误列表。它似乎是尝试在以下网址验证清单文件:/offlineDemo//lib/offlineDemo/assets/offlineDemo.appcache
即它将清单URL附加到页面网址的末尾,而不考虑我已将清单定义为绝对URL的事实。显然,它尝试加载的URL无效,并提供404。
这似乎不是正确的行为,因此我猜测它可能是一个Firefox错误,特别是因为它在Chrome中运行良好。但是,我在AppCache中找到的所有示例都在html清单属性中显示了一个相对URL,这让我感到疑惑。
所以我的问题是: