在我的测试中,越来越明显的是移动Safari实现的HTML5应用缓存有5MB的大小限制。
有没有人知道如何规避或增加这个限制?是否有一些未公开的元标记我应该知道?因为我需要为离线应用程序缓存一些视频内容,而5MB将不够用。
在我的测试中,越来越明显的是移动Safari实现的HTML5应用缓存有5MB的大小限制。
有没有人知道如何规避或增加这个限制?是否有一些未公开的元标记我应该知道?因为我需要为离线应用程序缓存一些视频内容,而5MB将不够用。
我尝试使用以下清单编写一项简单的测试:
CACHE MANIFEST
# 2010-06-20:v4
http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
http://peach.blender.org/wp-content/uploads/big_big_buck_bunny.jpg
http://apod.nasa.gov/apod/image/9712/orionfull_jcc_big.jpg
http://www.thelivingmoon.com/43ancients/04images/Titan/titan5km_huygens_big.jpg
http://upload.yeuamnhac.com/musica/dan_lily/dancontent/rh108poster1big.jpg
这个缓存需要11.4MB的存储空间。
当我打开一个包含该清单文件的页面时,它会显示类似于以下内容:"此网站需要使用多达25MB的存储空间,您想增加本地存储吗?"。
我认为我理解了iOS的方式:
希望对您有所帮助。
这并不适用于特定的离线视频使用情况,但是您可以通过在openDatabase
调用中请求更大的数据库来创建超过iOS默认5MB大小的Web SQL数据库。对于某些存储类型,SQLite可能是一个可接受的解决方案。
我也联系了苹果公司关于这个问题。
在这里阅读我的博客文章:http://techblog.viewbook.com/2011/02/mobile-safari-offline-application-cache-limit/
以及我的StackOverflow帖子:Max size iPad / iPhone Offline Application Cache
页面上还有什么内容?
这些人通过将页面分割或用链接替换一些缓存的图像来保持页面在限制范围内:
http://www.mobilenoter.com/blog/post/2010/04/06/Removing-size-limit-of-a-page.aspx
我在iPad(iOS 5)上运行了一个超过5MB的Web应用程序,尽管这是一台iPad,但一旦页面加载超过5MB,它就会出现一个弹出窗口,询问用户是否想将缓存大小增加到10MB。
似乎最新的iOS版本如果一个Web应用程序需要超过5MB的缓存存储,它会要求用户是否有权限增加它,以便用户可以管理自己的内存空间。
也有理由认为,当您查看使用数据(例如通过iTunes)时,“其他”类别中看到的大部分可能是Web缓存。此外,您可以通过进入 设置| Safari | 高级 | 网站数据 来查看每个网站正在使用多少空间。
我不确定为什么每个人都忘记了优秀的Web应用程序(还记得这些吗?它们比原生应用程序更早存在!),但它们已经“离线就绪”,这意味着您不需要加载应用程序缓存中的应用程序的每个组件。
据我所知,Web应用程序的大小没有限制。