【发布时间】:2011-11-11 03:26:56
【问题描述】:
我们有一个应该可以在 iPad 上离线工作的网络应用程序。它使用清单来定义需要缓存的文件。关键是我们已经达到了 iPad 存储这些文件的 10MB 限制,我们需要将更多文件添加到列表中。
是否有任何解决方法来增加此限制,或以任何其他方式存储文件?请注意,目前无法选择本地化。
【问题讨论】:
我们有一个应该可以在 iPad 上离线工作的网络应用程序。它使用清单来定义需要缓存的文件。关键是我们已经达到了 iPad 存储这些文件的 10MB 限制,我们需要将更多文件添加到列表中。
是否有任何解决方法来增加此限制,或以任何其他方式存储文件?请注意,目前无法选择本地化。
【问题讨论】:
您可以查看this。
在使用window.applicationCache.update() 更新缓存之前,尝试重复以小于 5MB 的块增加清单的过程,您应该能够通过 10mb 的限制
【讨论】:
html 标记的属性(在这种情况下,它指向动态获取文件的PHP 脚本)。如何在运行时更改其内容?
据我了解,您可以这样做:
cache.manifest 是一个用 PHP 生成的文件,在第一代它返回小于 5Mb 的文件列表并设置一个 cookie 标志。 'cached' 事件上的客户端脚本检查 cookie 是否设置并调用 window.applicationCache.update() 因此 PHP 代码再次运行它检查 cookie 是否设置并返回完整的 cache.manifest 文件,更新 cookie 标志
【讨论】:
window.applicationCache.update() 发出异步请求...
window.applicationCache.update() 时,浏览器向服务器发出请求以获取新的cache.manifest,而由PHP 脚本生成的cache.manifest 将再次运行并生成新文件,具体取决于是否设置了cookie 标志
window.applicationCache.update() 发出异步请求并使用cookie 来检测应该返回哪个版本的清单