清单文件下载大小限制

| 我正在学习使用清单文件,并且有这个问题。如果某个网站创建了清单文件,该清单文件使我缓存3MB的文件该怎么办。在3G上运行时,iPhone的3MB容量很大。因此,某些恶意网站可以创建此类清单文件并让我用尽我所有的数据余量吗? 另一个问题是,作为负责任的开发人员,是否有办法检测用户是否正在使用3G,因此在前一种情况下我可以提供较小的清单文件? 谢谢     
已邀请:

bab

        您的问题被标记为“ iPhone”,因此我将给出iOS特定的答案。 离线存储(用于保存清单中链接的文件)似乎限制为5MB。证据完全是偶然的,因为在Apple文档中没有提到该限制。但是,一些Apple工程师承认存在限制。在某些情况下,Mobile Safari的最新版本允许用户扩展存储,但是作为开发人员,您不能强迫他们这样做。 5MB并没有那么多,并且许多用户肯定会注意到发生了什么,如果他们不希望发生这种情况,只需关闭选项卡。据我了解,并非每个国家/地区都有相同的限制,但是美国的大多数用户限制为每月2GB。以这种速度,一个毫无戒心的用户将不得不不小心重新下载您的清单,清单列出的文件将被100次使用,而只用完其带宽分配的25%。这是一个相当低的限制,并且恶意用尽某人的数据分配的可能性非常小。 至于如何判断用户使用3G或WiFi,请查看Apple开发人员中心中的“可达性”示例。它确实做到了。我知道,没有办法在Web应用程序(相对于本机应用程序)中做到这一点。     
         HTML5清单有大小限制吗?没有。 否,iOS并未实现与Andorid Webkit相反的W3C网络信息API。     
        我不确定您如何获取此清单文件,但是如果您使用的是NSURLConnection,则只需保持已下载数据的运行总量即可(最好的位置是是connection:didReceiveData :),如果连接超过3MB,则取消连接。记住,每个连接都应将该数字清零。 至于查找设备,细节似乎比应该的要复杂,但是我找到了一个非常简单的示例(源代码不多):确定iPod是第一代还是第二代     

要回复问题请先登录注册