我正在构建一个特别针对显示公司产品集合的iPad(运行iOS 6+)的网络应用程序。iOS6网络应用程序的最大缓存大小是多少?我如何扩展它?
这一切都非常完美使用HTML5的“cache.manifest”文件。但是由于缓存已经增长到大约50MB,iPad不再保存应用程序数据。根据Safari设置,缓存大小现在不是50MB,而是0.1KB。
那么,什么是Safari浏览器的缓存的Web应用程序的实际限制,是有办法扩大了应用程序缓存的最高金额是多少?
我正在构建一个特别针对显示公司产品集合的iPad(运行iOS 6+)的网络应用程序。iOS6网络应用程序的最大缓存大小是多少?我如何扩展它?
这一切都非常完美使用HTML5的“cache.manifest”文件。但是由于缓存已经增长到大约50MB,iPad不再保存应用程序数据。根据Safari设置,缓存大小现在不是50MB,而是0.1KB。
那么,什么是Safari浏览器的缓存的Web应用程序的实际限制,是有办法扩大了应用程序缓存的最高金额是多少?
编辑2014年6月2日: 上iOS7.1最大高速缓存大小为300MB。
最近有客户问我这个确切的问题,所以我调查了一下。
按iOS6的,这是两个不同的东西(我所有的测试已在iOS6.1完成):
带有.manifest的网站最多可以使用50MB的缓存,并提供用户权限。它不能使用更多。该值可以在设置/ safari/advanced中找到并清除。如果您尝试在缓存中填充更多内容,则error
事件将触发,并且window.applicationCache.status
将变为空闲状态。
web应用程序不共享比其网站上相同的缓存。清除缓存设置/ safari/advanced将无法为您的主屏幕webapp做任何事情。它将接受超过50MB的缓存,无需用户输入,但我不知道究竟有多少(我以60mb成功完成测试,完全可以脱机访问。*编辑:试用83mb,成功) 我不知道这里数据可以在iOS设置中看到。我猜没有。
测试,这是在一个痛苦***,直到我找到了spec。有一个API可以在iOS6上完美运行。
您应该检查window.applicationCache.status
,它告诉你什么是应用程序的状态,以下事件(切,并与他们的听众从我的代码粘贴,这样):
window.applicationCache.addEventListener('checking', onChecking);
window.applicationCache.addEventListener('noupdate', onNoupdate);
window.applicationCache.addEventListener('downloading', onDownloading);
window.applicationCache.addEventListener('progress', onProgress);
window.applicationCache.addEventListener('cached', onCached);
window.applicationCache.addEventListener('updateready', onUpdateready);
window.applicationCache.addEventListener('obsolete', onObsolete);
window.applicationCache.addEventListener('error', onError);
所有正在从事的iOS 6.1,甚至progress
事件event.loaded
和event.total
如果.manifest是相同的,则Web应用程序首先检查,然后触发noupdate
。状态是IDLE
。
如果.manifest的改变,地位DOWNLOADING
,对于您的清单每个文件progress
事件触发,那么状态为UPDATEREADY
和updateready
火灾。
如果您在离线状态下,一个error
事件触发和状态是IDLE
。
您可以
var online = navigator.onLine ? 'online' : 'offline';
它的工作原理,但规格说,这是不可靠的测试的在线/离线状态。
三件更多的事情来完成:
<html manifest="cache.manifest">
AddType text/cache-manifest manifest
和ExpiresByType text/cache-manifest "access plus 0 seconds"
<meta name="apple-mobile-web-app-capable" content="yes">
使用此API,可以更轻松地了解底层的情况。一定要做你自己的测试,但我不是100%肯定这个结果,或者他们可以用一个新的iOS版本。我会进一步测试最大尺寸。
检查了这一点: http://stackoverflow.com/questions/2772908/max-size-ipad-iphone-offline-application-cache – mattdlockyer 2013-02-18 01:21:25