iPad离线应用程序上的HTML5应用程序缓存-如果服务器不可用,是否不工作?
我正在为iPad开发一个小型HTML5网络应用程序,该应用程序旨在全屏模式下工作(即,它有专有的Apple meta标签,添加到主屏幕):iPad离线应用程序上的HTML5应用程序缓存-如果服务器不可用,是否不工作?,ipad,html,offline-caching,application-cache,Ipad,Html,Offline Caching,Application Cache,我正在为iPad开发一个小型HTML5网络应用程序,该应用程序旨在全屏模式下工作(即,它有专有的Apple meta标签,添加到主屏幕): 应用程序基本上通过AJAX获取一些数据并将其呈现给用户。AJAX数据是外部的(来自不同的域、不同的服务器)。我有跨源请求的系统设置,它们在联机模式下工作。换句话说:静态数据位于服务器A上,动态数据位于服务器B上 我创建了一个合适的缓存清单文件,列出了站点的所有静态内容(HTML、CSS、图像、JS),然后在最后有网络:部分-这样所有的动态内容(AJAX)
应用程序基本上通过AJAX获取一些数据并将其呈现给用户。AJAX数据是外部的(来自不同的域、不同的服务器)。我有跨源请求的系统设置,它们在联机模式下工作。换句话说:静态数据位于服务器A上,动态数据位于服务器B上
我创建了一个合适的缓存清单文件,列出了站点的所有静态内容(HTML、CSS、图像、JS),然后在最后有网络:
部分-这样所有的动态内容(AJAX)总是从网络中检索。如果请求失败,应用程序将“正常地”失败,因为它会显示一些虚假内容
通过上述设置,将发生以下情况:
完全不正确?如果没有,我如何在iPad上实现这种行为?第2点和第3点是完全不同的场景,因此我们不能期望相同的行为
在第3点中,当处于联机模式时,设备不能退回到缓存内容,因为如果这样做,用户将无法知道他是否连接到服务器
我的意思是,在脱机模式下,用户知道这一点,并且知道他正在处理缓存的数据。但在在线模式下,他希望从服务器上获取这些东西。如果服务器不可用,用户应该知道这一点。如果服务器不可用,并且他被直接发送到缓存数据,服务器错误将对他隐藏,认为他已连接,而实际上他没有连接
例如,web浏览器可以缓存要在脱机模式下查看的页面。但是,如果我们处于联机模式并尝试打开不可用的页面,我们希望看到错误消息,而不是没有任何警告的页面的缓存版本。如果需要,我们可以转到脱机模式查看缓存页面,但正确的行为是向用户显示错误。如果我以联机模式打开页面,我仍然会显示所有内容的缓存版本,因为它在清单文件中被指定为缓存版本。“动态内容”在清单文件的网络:
部分指定。请阅读有关HTML5应用程序缓存及其行为的信息。在场景3中,iPad只能检索的唯一文件实际上是cache.manifest
文件;我想知道是否有办法将行为设置为“如果清单文件不可用,请使用以前的清单文件”,而不是失败。
<meta name="apple-mobile-web-app-capable" content="yes" />