我有以下appcache清单:
CACHE MANIFEST
# Cache Manifest timestamp: 1361723106
CACHE:
offline.html
offline2.html
offline.manifest.php
NETWORK:
*
FALLBACK:
/ offline.html
我在本地安装的服务器上使用它。 因此,当我加载链接到此清单文件的index.html文件时,Chrome中的consolse向我显示所有文件都已正确缓存。当我现在关闭我的本地服务器并尝试再次访问index.html文件时,我会看到该index.html文件的内容。我原本希望被“转发”到offline.html。我做错了什么?
提前致谢!
答案 0 :(得分:0)
虽然您说的是“index.html”文件,但我假设您正在访问这样的资源:http://yourlocalservername/
。
链接到appcache清单的资源(在本例中为“/”)始终包含在应用程序缓存中。后备适用于不在缓存中的资源,因此您获得的结果是预期的。
在访问以前缓存的资源时显示“离线指示符”的唯一方法是确保缓存资源包含实际检查浏览器是否脱机的javascript代码。您可以检查navigator.onLine
和/或查看XMLHttpRequest
以查看您的服务器是否可以访问(并且正常运行)。