我正在为客户开发一个 HTML 应用程序。整个应用程序前端由 1 个 HTML 文件、1 个 Javascript 文件、1 个 CSS 文件(加上 jquery)和一些图像完成。服务器上有一些 php 脚本,它们使用 AJAX 调用,但前提是 Internet 连接可用。如果没有可用的连接,则站点将使用本地缓存的数据(使用localStorage
)。
为了使站点可以离线使用,我在我的 HTML 中声明了缓存清单。我的 HTML 如下所示:
<!DOCTYPE html>
<html manifest="cache.manifest.php" language="en">
...
</html>
的cache.manifest.php
输出如下所示:
CACHE MANIFEST
#VersionHash: 80b9345e6c39efbbe8431e394b014b4f
CACHE:
/css/ebot.css
/favicon.ico
/images/appicon.png
/images/list-arrow.png
/images/list-checkmark.png
/images/woman.png
/index.html
/js/jquery-1.8.3.min.js
/js/ebot.ls.js
NETWORK:
/emaillog.php
/getdata.php
/uploadlog.php
到目前为止,一切都很好。现在,我从具有 Internet 连接的浏览器访问该站点。我收到一个小通知,询问是否允许该站点存储信息以供离线使用 - 我允许。当我检查设置时,我看到该站点存储了 316K 的数据 - 大约是正确的。
现在我关闭互联网连接并尝试访问http://www.mysite.com/index.html
- 并收到一条错误消息,显示“互联网连接不可用”(或类似程度的内容)并且页面未显示。这发生在我在我的开发机器(firefox、safari 和 chrome)以及客户端的 ipad 上测试的 3 个浏览器中(该应用程序最终在 ipad 上使用)。
我在这里想念什么?我究竟做错了什么?