移动版 Safari 的 HTML5 应用缓存限制是5MB吗?

27

在我的测试中,越来越明显的是移动Safari实现的HTML5应用缓存有5MB的大小限制。

有没有人知道如何规避或增加这个限制?是否有一些未公开的元标记我应该知道?因为我需要为离线应用程序缓存一些视频内容,而5MB将不够用。

6个回答

8

我尝试使用以下清单编写一项简单的测试:

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的方式:

  • 您只有5MB的本地存储空间(包括HTML5应用程序缓存)
  • 如果您的网络需要更多空间,Safari需要用户同意一些包(最多10MB、25MB或更多)

希望对您有所帮助。


3

这并不适用于特定的离线视频使用情况,但是您可以通过在openDatabase调用中请求更大的数据库来创建超过iOS默认5MB大小的Web SQL数据库。对于某些存储类型,SQLite可能是一个可接受的解决方案。


1

0

我想这也可以应用于视频吧?将视频分割成5MB的块。如果不需要视频寻址,我认为加载程序实现起来相当简单。 - syockit

0

我在iPad(iOS 5)上运行了一个超过5MB的Web应用程序,尽管这是一台iPad,但一旦页面加载超过5MB,它就会出现一个弹出窗口,询问用户是否想将缓存大小增加到10MB。

似乎最新的iOS版本如果一个Web应用程序需要超过5MB的缓存存储,它会要求用户是否有权限增加它,以便用户可以管理自己的内存空间。

也有理由认为,当您查看使用数据(例如通过iTunes)时,“其他”类别中看到的大部分可能是Web缓存。此外,您可以通过进入 设置| Safari | 高级 | 网站数据 来查看每个网站正在使用多少空间。


-1

我不确定为什么每个人都忘记了优秀的Web应用程序(还记得这些吗?它们比原生应用程序更早存在!),但它们已经“离线就绪”,这意味着您不需要加载应用程序缓存中的应用程序的每个组件。

据我所知,Web应用程序的大小没有限制。

http://www.apple.com/webapps/


实际上我正在构建一个Web应用程序,用于在用户离线时展示电影(HTML5视频标签),以供演示等使用。我可以确认缓存大小限制也适用于Web应用程序。 - JFH

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