0

我有以下 appcache 清单:

CACHE MANIFEST

# Cache Manifest timestamp: 1361723106
CACHE:
offline.html
offline2.html
offline.manifest.php

NETWORK:
*

FALLBACK:
/ offline.html

我在本地安装的服务器上使用它。因此,当我加载链接到此清单文件的 index.html 文件时,Chrome 中的控制台显示所有文件都已正确缓存。当我现在关闭本地服务器并尝试再次访问 index.html 文件时,我会看到该 index.html 文件的内容。我期待被“转发”到offline.html。我究竟做错了什么?

提前致谢!

4

1 回答 1

0

尽管您说的是“index.html”文件,但我假设您正在访问这样的资源:http://yourlocalservername/.

链接到 appcache 清单的资源(在本例中为“/”)始终包含在应用程序缓存中。回退适用于不在缓存中的资源,因此您得到的结果是预期的。

在访问先前缓存的资源时显示“离线指示器”的唯一方法是确保缓存的资源包含实际检查浏览器是否离线的 javascript 代码。您可以检查navigator.onLine和/或检查XMLHttpRequest您的服务器是否可以访问(并且正常运行)。

于 2013-03-23T23:01:09.610 回答