我正处于编写应用程序的计划阶段,仍然选择我希望用来编写应用程序的技术。最初的想法是写一个网络应用程序,但这已经(有?)无法离线查看的垮台。然后我发现了缓存清单,这似乎是一个答案。
但是,从第一点开始,Cache Manifest似乎存在大小限制。我找不到每个浏览器的大小限制的完整列表,所以我不知道它是否完全令人虚弱(尽管我认为它可能是)。我希望应用程序可以使用的浏览器是Firefox,Chrome和移动Safari浏览器(也就是说,它必须在iPad上运行)。
我的理解是,在大多数情况下,总缓存限制大约为5MB(随浏览器的不同而不同),但这对我的需求来说还不够。我希望离线存储所有用户的在线数据。这包括上传文件(PDF,图片)以及使应用程序在物理上工作所需的内容。在我看过的任何一个例子中,cache-manifest仅用于缓存离线内容,如html,css,javascript和网站的图像资源。它是否适合用户上传的PDF的离线存储?
如果这个问题的答案是响亮的(我担心它可能是),还有其他解决方案吗?或者是浏览器中的“正确”应用程序 - 即具有合理空间要求的应用程序 - 此时完全不可行?我们还在等待浏览器赶上开发的要求吗?
编辑:只是添加,我知道HTML5规范中的Cache-Manifest没有限制,但实现似乎都限制了它,这将影响我尝试编写的任何内容。
答案 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 |