缓存清单大小限制和Web应用程序

时间:2011-07-20 06:39:07

标签: html5 web-applications offlineapps

我正处于编写应用程序的计划阶段,仍然选择我希望用来编写应用程序的技术。最初的想法是写一个网络应用程序,但这已经(有?)无法离线查看的垮台。然后我发现了缓存清单,这似乎是一个答案。

但是,从第一点开始,Cache Manifest似乎存在大小限制。我找不到每个浏览器的大小限制的完整列表,所以我不知道它是否完全令人虚弱(尽管我认为它可能是)。我希望应用程序可以使用的浏览器是Firefox,Chrome和移动Safari浏览器(也就是说,它必须在iPad上运行)。

我的理解是,在大多数情况下,总缓存限制大约为5MB(随浏览器的不同而不同),但这对我的需求来说还不够。我希望离线存储所有用户的在线数据。这包括上传文件(PDF,图片)以及使应用程序在物理上工作所需的内容。在我看过的任何一个例子中,cache-manifest仅用于缓存离线内容,如html,css,javascript和网站的图像资源。它是否适合用户上传的PDF的离线存储?

如果这个问题的答案是响亮的(我担心它可能是),还有其他解决方案吗?或者是浏览器中的“正确”应用程序 - 即具有合理空间要求的应用程序 - 此时完全不可行?我们还在等待浏览器赶上开发的要求吗?

编辑:只是添加,我知道HTML5规范中的Cache-Manifest没有限制,但实现似乎都限制了它,这将影响我尝试编写的任何内容。

5 个答案:

答案 0 :(得分:8)

您可以在此处查看有关限制容量的更多信息:http://grinninggecko.com/developing-cross-platform-html5-offline-app-1/

答案 1 :(得分:2)

万一人们还在想这个......

我目前在Safari(6.1),Chrome(31),Firefox(26),iPad(ios7)和iPhone(ios6)上成功下载并测试了44MB资源的应用程序。

我发现的唯一问题是当您将应用添加到主屏幕时。我已经确定这是因为应用程序太大而且需要扩展缓存,但是没有处理这个并且它只是以错误结束。解决方法 - >重新加载应用程序。关闭,打开并重新保存缓存=工作。

答案 2 :(得分:0)

根据spec没有限制,但我认为限制超过5 MB。另请参阅Is there a size limit for HTML5 Manifest?

答案 3 :(得分:0)

Android设备中的Appcache大小限制为5 MB。如果要为Android设备创建混合应用程序,则需要确保appcache不超过5MB。否则,appcache下载一旦达到大小限制就会失败。

同样的问题不会出现在其他设备(iPhone,Windows,黑莓等)。

答案 4 :(得分:0)

移动

| Chrome | Android Browser | Firefox | Safari | Safari | iOS WebView | iOS WebView |
|   40   |       4.3       |   34    |   6,7  |   8    |     6,7     |      8      |
|    ~   |        ∞        |    ∞    |  300MB | 300MB  |    100MB    |    100MB    |

桌面

| Chrome | Firefox |   Safari   |   Safari  |   IE   |   IE   |
|   40   |    34   |     6,7    |     8     |    9   |  10,11 |
|    ~   |  500MB  |      ∞     |     ∞     |    ?   |  100MB |

Reference Link