Html 应用程序缓存和本地存储

Html 应用程序缓存和本地存储,html,pdf,caching,local-storage,html5-appcache,Html,Pdf,Caching,Local Storage,Html5 Appcache,我需要一些帮助来设计一个新的应用程序 其要点是,我们将有一个基于web的应用程序,可以提供本质上相当大的PDF,从2mb到100mb不等。这将是一个拥有数百名用户的intranet(而不是internet)应用程序。用户将查看PDF的内联(即嵌入网页)以及自定义导航。单击导航链接将在查看器面板中加载不同的PDF(不,PDF书签在这种情况下不能解决相同的问题) 查看器部分更简单——只需将其嵌入iframe、Acrobat或pdf.js等 (这是一个很好的视觉示例,说明了我们的目的:--不,我们没有

我需要一些帮助来设计一个新的应用程序

其要点是,我们将有一个基于web的应用程序,可以提供本质上相当大的PDF,从2mb到100mb不等。这将是一个拥有数百名用户的intranet(而不是internet)应用程序。用户将查看PDF的内联(即嵌入网页)以及自定义导航。单击导航链接将在查看器面板中加载不同的PDF(不,PDF书签在这种情况下不能解决相同的问题)

查看器部分更简单——只需将其嵌入iframe、Acrobat或pdf.js等

(这是一个很好的视觉示例,说明了我们的目的:--不,我们没有看到拖拉机零件!但它与功能类似。)

我们最担心的是交通。每次通过网络加载/重新加载大型PDF将消耗不必要的资源。b) 对于预缓存的内容,它需要脱机工作。用户可以下载/缓存数百个PDF。看来HTML5的新功能在这方面会有很大帮助

因此,我开始研究应用程序缓存来缓存应用程序文件。我知道这其中的一些缺点,但这是显而易见的途径。但似乎必须明确声明要缓存的文件。这对于应用程序文件或每个用户缓存相同的内容都很好。但用户应该能够单击“预加载这500个PDF,以便我可以脱机查看”。超出了应用缓存清单的范围

因此,我正在考虑本地存储选项,但我不清楚如何利用这些选项。用户需要预加载数百个PDF。在线时,应用程序应将其从服务器上拉下来,然后应用程序在离线时引用缓存的版本——如果服务器上的PDF最近没有更新,甚至在线。我应该看什么API?这对应用程序缓存有什么好处

另外,我们的公司标准是IE11和Chrome(目前为v50)。强迫其中一个是可以的。我对本地存储的理解是,应用程序必须请求无限存储(请参见此处)。这也很好,但我不清楚是否需要创建一个正式的Chrome应用程序

我能想到的最近的例子是谷歌硬盘。它以某种方式离线加载文档/电子表格等,因此如果您访问drive.google.com时与internet断开连接,这些文件将加载。但这些文件是动态的,显然不在缓存清单中(对吧?)。Google Drive如何离线存储这些动态文件,应用程序如何知道如何从缓存/本地存储而不是从Internet加载这些文件

相比之下,我是否会遇到诸如PDF之类的二进制数据的任何问题

谢谢

谢谢
Tom

您可以使用--在localStorage中没有限制。同时检查服务人员和其他人员。@async5谢谢!这很有帮助,尤其是图表。1) 我只能使用chrome和IE11,不能使用firefox。我需要制作一个chrome应用程序,还是一个“开放网络应用程序”就足够了?2) 您从哪里知道IndexedDB没有存储限制(文档)?应用程序是否需要请求此存储?数据是否持久?chrome也是这样吗?IndexedDB有限制,但当需要更多存储空间时,浏览器会/可能会提示用户。有关更多详细信息,请参阅。另请参见您可以使用的内容--在localStorage中没有限制。同时检查服务人员和其他人员。@async5谢谢!这很有帮助,尤其是图表。1) 我只能使用chrome和IE11,不能使用firefox。我需要制作一个chrome应用程序,还是一个“开放网络应用程序”就足够了?2) 您从哪里知道IndexedDB没有存储限制(文档)?应用程序是否需要请求此存储?数据是否持久?chrome也是这样吗?IndexedDB有限制,但当需要更多存储空间时,浏览器会/可能会提示用户。有关更多详细信息,请参阅。另见