增加iPad 10MB缓存限制

6
我们有一个网络应用程序,预计在iPad上离线工作。它使用清单来定义需要被缓存的文件。问题在于我们已经达到了iPad存储这些文件的10MB限制,并且需要将更多文件添加到列表中。
是否有任何变通方法可以增加此限制或以其他方式存储文件?请注意,目前无法选择本地化选项。
2个回答

0

您可以查看 this

在使用 window.applicationCache.update() 更新缓存之前,尝试以小于 5MB 的块的形式重复增加清单,这样您就应该能够通过10MB的限制了。


请您详细说明一下吗?我的意思是,将“增加清单”应用于这个上下文中是什么意思?据我所知,清单是指html标签的一个属性(在这种情况下,它指向一个动态获取文件的PHP脚本)。我如何在运行时更改其内容? - Manuel Pedrera

0
根据我的理解,你可以像这样做一个技巧:
cache.manifest是由PHP生成的文件,在第一次生成时,它返回小于5Mb的文件列表并设置一个Cookie标志。客户端脚本在“cached”事件中检查Cookie是否被设置,并调用window.applicationCache.update()方法,以便再次运行PHP代码。PHP代码会检查Cookie是否被设置,并返回完整的cache.manifest文件,并更新Cookie标志。

你确定 PHP 代码会再次运行吗?作为服务器端语言,我认为它将调用之前由 PHP 脚本呈现的内容,除非 window.applicationCache.update() 发起了异步请求... - Manuel Pedrera
当您调用window.applicationCache.update()时,浏览器会向服务器发出请求以获取新的cache.manifest。而cache.manifest是由PHP脚本生成的,它将根据是否设置cookie标志再次运行并生成新文件。 - Dmitry
实际上,我建议使用window.applicationCache.update()进行异步请求,并使用cookies来检测应返回哪个版本的清单。 - Dmitry
得试一下。由于我现在没有必要的时间,而且赏金即将到期,我会把它分配给这个答案,并在我尝试后标记它为正确的答案 :) - Manuel Pedrera

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接