每当我使用Firefox访问某些网站时,都会出现以下对话框,要求我“将数据存储在计算机上以供脱机使用”。
如果使用的是Firefox,则会显示该信息,如果使用的是Chrome,则不会显示该信息。
为什么会出现?这是什么意思?这是什么数据存储?与浏览器缓存有何不同?为什么FF可以显示它,而Chrome无法显示?
我正在使用Ubuntu 12.04.2,Firefox 23.0和Chromium 28.0.1500.71 Ubuntu 12.04(28.0.1500.71-0ubuntu1.12.04.1)
该网站正在征求使用HTML5脱机Web应用程序API的许可:
典型的联机Web应用程序的用户只有在连接到Internet时才能使用这些应用程序。当他们脱机时,他们将无法再查看电子邮件,浏览日历约会或使用在线工具准备演示文稿。同时,本机应用程序提供了以下功能:电子邮件客户端在本地缓存文件夹,日历在本地存储事件,演示程序包在本地存储数据文件。
此外,由于用户无法联系服务器以获取最新副本,因此在脱机状态下,用户完全依靠其HTTP缓存来获取应用程序。
HTML 5规范为此提供了两种解决方案:基于SQL的数据库API,用于在本地存储数据;以及脱机应用程序HTTP缓存,用于确保即使用户未连接到网络,应用程序仍然可用。
深入了解HTML5进一步说明:
最简单的说,脱机Web应用程序是URL列表-HTML,CSS,JavaScript,图像或任何其他类型的资源。脱机Web应用程序的主页指向此列表,称为清单文件,该清单文件只是位于Web服务器上其他位置的文本文件。实施HTML5脱机应用程序的Web浏览器将从清单文件中读取URL列表,下载资源,在本地缓存它们,并在更改本地副本时自动使它们保持最新。当您尝试在没有网络连接的情况下访问Web应用程序时,Web浏览器将自动切换到本地副本。
您已经注意到,这与普通的浏览器缓存是分开的。它们有两个不同的目的。浏览器缓存用于加快对常用资源的访问,而浏览器缓存则用于存储脱机Web应用程序及其资源。
Chrome似乎允许网络应用在未经用户许可的情况下离线存储自己。另一方面,Firefox允许Web应用程序使用脱机API之前先征得许可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句