我在尝试做一些应该非常简单的事情时遇到问题(当用户无法访问 Internet 时显示离线页面)。我有一个加载到我的地址的 MVC 应用程序http://192.168.2.29/MobilePortal/
我在网站上添加了一个 manifest.cache 文件,内容如下:
CACHE MANIFEST
# 11-04-2013
CACHE:
/MobilePortal/
NETWORK:
FALLBACK:
/MobilePortal/ /MobilePortal/offline.html
这背后的想法是在用户无法访问 Internet 时显示一个 offline.html 页面。
在我的应用程序 MasterPage 中,我包括:
<html manifest="<%=Url.Content("~/manifest.cache") %>"">
当我通过 Chrome 访问具有 Internet 连接的应用程序时,我通过控制台获得以下信息:
Creating Application Cache with manifest http://192.168.2.29/MobilePortal/manifest.cache 192.168.2.29:1
Application Cache Checking event 192.168.2.29:1
Application Cache Downloading event 192.168.2.29:1
Application Cache Progress event (0 of 2) http://192.168.2.29/MobilePortal/offline.html 192.168.2.29:1
Application Cache Progress event (1 of 2) http://192.168.2.29/MobilePortal/ 192.168.2.29:1
Application Cache Progress event (2 of 2) 192.168.2.29:1
Application Cache Cached event
我认为这里一切都很好。
然后我关闭 Internet 连接并访问http://192.168.2.29/MobilePortal/
URL,但未显示 offline.html 页面。相反,我在 Chrome 控制台上得到了这个:
Document was loaded from Application Cache with manifest http://192.168.2.29/MobilePortal/manifest.cache 192.168.2.29:1
Application Cache Checking event 192.168.2.29:1
Application Cache Error event: Manifest fetch failed (-1) http://192.168.2.29/MobilePortal/manifest.cache 192.168.2.29:1
我是否遗漏了后备规则的某些内容?我尝试将 index.html 文件添加到应用程序并包含以下后备规则:
FALLBACK:
/MobilePortal/index.html /MobilePortal/offline.html
当我尝试访问http://192.168.2.29/MobilePortal/index.html
浏览器时,成功显示了 offline.html 页面。
任何帮助,将不胜感激。谢谢。