使用HTML5离线缓存时,我想在离线时显示另一个页面,而不是在线时。 不应该太难,但它不适合我,几个小时后,我仍然没有看到发生了什么问题。HTML5离线问题:离线时显示不同的页面
这是我的清单:
CACHE MANIFEST
# v15 Minute: 18
CACHE:
/Scripts/jquery-1.4.4.min.js
/Content/Site.css
# Documents
/content/lulo_flower.jpg
NETWORK:
/
#Detail screens
/Home/Details/2
FALLBACK:
//?offline=true
/Home/Details/2 /Home/Details/2?offline=true
请注意,我不希望/和/ home /详细信息/ 2被缓存。相反,我想在线时使用在线版本,并且我想在离线状态下显示/?offline = true和/ Home/Details/2?offline = true。
该网站脱机工作,但两件事情会出错:
1)“网络”项目未兑现。当我访问/页面时,它正在缓存中下载,可能是由于引用了主页html-tag()中的Manifest。
更糟:
2) '回退' 项目未兑现。当离线浏览web服务器时,/只显示原始版本(不包括offline = true),并且找不到/ Home/Details/2。 但是,offline = true版本在缓存中:当我使用Web服务器离线手动访问它们时,它们显示得很好。
附加信息:首次打开页面时,Chrome开发者控制台:
Application Cache Progress event (0 of 5) http://localhost:51034/Scripts/jquery-1.4.4.min.js
:51034/:65online: yes, event: progress, status: downloading
Application Cache Progress event (1 of 5) http://localhost:51034/content/lulo_flower.jpg
:51034/:65online: yes, event: progress, status: downloading
Application Cache Progress event (2 of 5) http://localhost:51034/Content/Site.css
:51034/:65online: yes, event: progress, status: downloading
Application Cache Progress event (3 of 5) http://localhost:51034/?offline=true
:51034/:65online: yes, event: progress, status: downloading
Application Cache Progress event (4 of 5) http://localhost:51034/Home/Details/2?offline=true
:51034/:65online: yes, event: progress, status: downloading
Application Cache Progress event (5 of 5)
:51034/:65online: yes, event: progress, status: downloading
可以看出,离线后备页面下载就好了,但重定向不能正常工作。此外:有一个神秘的第六个项目正在下载。
任何想法的?任何更好的方法来解决这个问题
此解决方案适用于iOs(iPhone/iPad),但不适用于Chrome或Firefox。 – TinkerTank 2011-03-19 18:28:56