清单文件下载大小限制

时间:2011-06-24 23:17:33

标签: iphone html5 manifest 3g

我正在学习使用Manifest文件并有这个问题。如果某个网站创建了一个清单文件,可以让我缓存3MB的文件,该怎么办?当我在3G上运行时,3MB对我的iPhone来说很重要。那么一些恶意网站可以创建这样的清单文件并让我用尽所有数据限额?

另一个问题是,作为一个负责任的开发人员,无论如何都要检测用户是否使用3G,以便我可以在前一种情况下提供较小的清单文件?

谢谢

3 个答案:

答案 0 :(得分:4)

您的问题被标记为“iPhone”,因此我将提供针对iOS的答案。

离线存储,包含链接到清单中的文件,似乎限制为5MB。这方面的证据都是间接的,因为Apple文档中没有提到限制。但是,一些Apple工程师承认存在limit。在某些情况下,最新版本的Mobile Safari允许用户expand存储,但作为开发人员,您不能强迫他们这样做。

5MB实际上并不是那么多,很多用户肯定会注意到某些事情正在发生,如果他们不想让它发生,只需关闭标签即可。据我所知,并非每个国家都有相同的限制,但美国的大多数用户限制为2GB /月。按照这个速度,毫无戒心的用户将不得不意外地重新下载您的清单,并且它列出的文件100次,仅占用其带宽分配的25%。这是一个相当低的限制,恶意使用某人的数据分配的可能性相当遥远。

至于如何判断用户是使用3G还是WiFi,请查看Apple开发人员中心的Reachability示例。它正是如此。在我知道的网页应用程序(而不是本机应用程序)中无法做到这一点。

答案 1 :(得分:1)

  1. Is there a size limit for HTML5 Manifest?否。
  2. 不,iOS没有实施W3C network information API反对Andorid Webkit。

答案 2 :(得分:-1)

我不确定你是如何获得这个清单文件的,但是如果你正在使用NSURLConnection,那只需要保持你已经下载了多少数据的运行总数(最好的位置是连接:didReceiveData :)并取消连接,如果它超过3MB。请记住,每个连接都将该数字归零。

至于找到设备,细节似乎比它们应该更复杂,但我找到了一个非常简单的例子来说明(源代码n'全部):Determine If iPod is First or Second Generation

相关问题