【问题标题】:ipad html5 offline application showing internet connection erroripad html5 离线应用程序显示互联网连接错误
【发布时间】:2011-01-03 12:10:28
【问题描述】:

我创建了一个 ipad 离线应用程序。尽管我已设置缓存清单,但当我打开网页离线模式时,Safari 会显示 Internet 连接不可用消息。我已经列出了 html 页面所需的所有三个文件。 html 页面本身、css 文件和徽标图像。

我还在 html 标签和 htaccess 文件中设置了清单文件名。

谁能告诉我哪里做错了或者让我知道解决这个问题的方法。

.html 代码

<!DOCTYPE HTML>
<html manifest="/main.manifest">
<head>


<meta name="viewport" content="width=device-width">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />

<title>Welcome</title>
<body>
thsi is test one
</body>
</html>

清单

# test1
CACHE MANIFEST
/main.html

提前致谢!!!

【问题讨论】:

  • 你能发布 html 和缓存清单文件吗?
  • 我不能它包含很多 JavaScript 代码。我不确定我的服务器是否支持 .htaccess 'AddType text/cache-manifest .manifest' 我该如何检查

标签: ipad html


【解决方案1】:

我的建议是遵循Dive into HTML5中的说明完全正确。 HTML5 离线应用程序可能非常“喜怒无常”,因此如果某些事情不完全正确,整个事情就会停止工作,并且很难获得有用的错误信息。

在 iOS 设备上尝试和调试非常困难,因为实际上并没有开发工具。我已经成功使用 Chrome 进行调试,开发工具(特别是存储和控制台部分)有很多有用的信息可供您使用。如果它在 Chrome 中不起作用,您应该能够更容易地弄清楚发生了什么。如果它可以在 Chrome 中运行,但在 iOS 设备上无法运行,那么您需要向我们展示您的文件,以便我们为您提供更多帮助。

【讨论】:

  • 问题出在清单文件本身。缓存清单和注释的位置不正确,我只是将其反转,它工作正常。
【解决方案2】:

应用程序缓存清单的第一行必须包含字符串“CACHE MANIFEST”。它非常严格——事实上如此严格以至于文件的第一个字符必须是“C”。另一方面,您在第一行有评论,这就是它不起作用的原因。

具体来说:

应用程序缓存清单的第一行必须包含 字符串 "CACHE",单个 U+0020 空格字符,字符串 “MANIFEST”,以及一个 U+0020 空格字符、一个 U+0009 字符 制表符(制表符)、U+000A 换行 (LF) 字符或 U+000D 回车 (CR) 字符。第一行可以选择 前面有一个 U+FEFF 字节顺序标记 (BOM) 字符。如果有其他 在第一行找到文本,将其忽略。

所以短语“CACHE MANIFEST”必须在“第一行”而不是“第一个非空行”而不是“第一个非注释行”。它必须在第一行。

http://www.w3.org/TR/html5/offline.html#writing-cache-manifests

【讨论】:

    【解决方案3】:

    您发布的代码是否有效?如果是这样,请确保您的实际应用程序没有超过 iPad 的缓存清单大小限制:

    Max size iPad / iPhone Offline Application Cache

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      相关资源
      最近更新 更多