2

我在尝试做一些应该非常简单的事情时遇到问题(当用户无法访问 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 页面。

任何帮助,将不胜感激。谢谢。

4

0 回答 0