无法让网络应用在iPod上脱机工作

Reb*_*ott 5 html jquery html5 web-applications

我已经编写了一个基本的密码管理器类型的Web应用程序,可以在移动设备上离线运行(在第4代iPod Touch上进行测试).我已经将应用程序添加到主屏幕,当iPod在线并且可以到达服务器时,一切正常.一旦我将iPod置于离线状态,当我打开应用程序时,会出现以下对话框:

无法打开PwdThing

无法打开PwdThing,因为它未连接到Internet

app(passwordthing.html)的单个静态HTML文件指向清单文件:

<html manifest="cache.manifest">
...
Run Code Online (Sandbox Code Playgroud)

cache.manifest文件包含应用程序使用的所有文件(包括jQuery Mobile文件):

CACHE MANIFEST
passwordthing.html
passwordthing.js
...
Run Code Online (Sandbox Code Playgroud)

并且cache.manifest文件设置为text/cache-manifest.htaccess文件中提供:

AddType text/cache-manifest .manifest
Run Code Online (Sandbox Code Playgroud)

所有源文件都在Github上(这个提交是编写时的版本),我已经设置了一个公共服务器来安装它.

为什么我不能让我的应用程序脱机工作?

hvg*_*des 2

我唯一能想到的是您没有更改文件,并且 mobile safari 缓存了旧版本的清单。在您的清单中添加评论。您可能还想尝试更改清单文件本身的名称;我必须这样做才能缓存我的 iPad——每次更新我的应用程序时,我都会更改清单的名称以包含日期。

请注意,iOS4.2 有更好的清单支持。当它出来时,你可能会发现事情有所改善。

编辑——或者,事实证明,这只是一个错误的文件名。;)(参见问题评论)。