gpt4 book ai didi

html - 使 HTML5 应用程序可离线使用

转载 作者:可可西里 更新时间:2023-11-01 14:53:43 25 4
gpt4 key购买 nike

我正在为客户开发 HTML 应用程序。整个应用程序前端由 1 个 HTML 文件、1 个 Javascript 文件、1 个 CSS 文件(加上 jquery)和一些图像完成。服务器上有一些 php 脚本,它们使用 AJAX 调用,但前提是互联网连接可用。如果没有可用连接,则站点将使用本地缓存数据(使用 localStorage)。

为了使站点可以离线使用,我在我的 HTML 中声明了缓存 list 。我的 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 的数据 - 差不多吧。

现在我关闭 Internet 连接并尝试访问 http://www.mysite.com/index.html - 并收到一条错误消息,指出“Internet 连接不可用”(或其他内容那个程度)并且页面不显示。这发生在我在我的开发机器(firefox、safari 和 chrome)以及客户端的 ipad 上测试的 3 种浏览器中(该应用程序最终是为了在 ipad 上使用)。

我在这里错过了什么?我做错了什么?

最佳答案

这可能有很多原因。看看这篇文章:

我猜您没有为 list 指定正确的内容类型 (MIME)。它应该是“文本/缓存 list ”。在 Chrome 的控制台中检查事件。当应用缓存 list 正确时,您应该看到类似这样的内容:

使用 list 创建应用程序缓存 http://example.com/manifest.appcache
应用程序缓存检查事件
应用缓存下载事件
应用程序缓存进度事件(XXX 的 YYY)
应用缓存缓存事件

我建议从最简单的 list 开始,以确保 list 已被解析。尝试:

CACHE MANIFEST
NETWORK:
*

这样的 list 应该只缓存您的起始 html 页面。

关于html - 使 HTML5 应用程序可离线使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com