HTML5应用缓存 HTML5 WEB存储 HTML5多线程 使用应用程序缓存,通过创建缓存清单文件,可以轻松地创建web应用程序的脱机版本. 什么是应用缓存? HTML5 介绍应用程序缓存,这意味着Web应用程序缓存,并且在没有Internet连接的时候可访问。 应用程序缓存给出了应用程序的三个优点: 离线浏览 - 用户可以在离线时使用应用程序 速度 - 缓存资源加载速度更快 减少服务器的负载 - 浏览器只会从服务器下载更新/更改的资源 浏览器支持 表中的数字指定第一个完全支持应用程序缓存的浏览器版本. API 应用程序缓存 4.0 10.0 3.5 4.0 11.5 HTML缓存清单的例子 下面的例子显示了一个缓存清单的HTML文档(离线浏览): <!DOCTYPE HTML> <html manifest="demo.appcache"> <body> The content of the document...... </body> </html> 让我试试 缓存清单基础 要启用应用程序缓存,请在文档中包含清单属性: <!DOCTYPE HTML> <html manifest="demo.appcache"> ... </html> 当用户访问它时,将指定具有指定属性的每一页。如果未指定清单属性,则不会缓存该页(除非页直接在清单文件中指定). 清单文件的推荐文件扩展名为: ".appcache" 清单文件需要与 正确的媒体类型 一起使用, "text/cache-manifest". 必须配置在web服务器上. 清单文件 清单文件是一个简单的文本文件,它告诉浏览器要缓存什么(以及什么永远不要缓存)。. 清单文件有三个部分: CACHE MANIFEST - 此标头下列出的文件它们首次下载将被缓存 NETWORK - 此标头下列出的文件需要与服务器连接,而且不会缓存 FALLBACK - 此标头下列出的文件如果页面不能访问的反馈页面 缓存清单 第一行,CACHE MANIFEST,是必需的 CACHE MANIFEST /theme.css /logo.gif /main.js 上面的清单文件列出了三个资源: 一个CSS文件,GIF图像,和一个JavaScript文件. 当加载清单文件时,浏览器将从网站的根目录下载三个文件。. 然后,每当用户没有连接到Internet,资源仍然可用. NETWORK NETWORK 下一节指定文件“login.asp”永远不应该被缓存,并且不能脱机使用: NETWORK: login.asp 星号可以用来表示所有其他资源/文件需要互联网连接: NETWORK: * FALLBACK FALLBACK 下面指定的"offline.html"将服务于所有文件放在/HTML/目录,如果网络连接不能建立 FALLBACK: /html/ /offline.html 注意: 第一个URI是资源, 第二行是fallback. 更新缓存 一旦应用程序被缓存,它将一直缓存,直到下面其中一种情况发生: 用户清除浏览器的缓存 清单文件被修改(见下面的提示) 应用程序缓存是以编程方式更新 实例 - 完整的缓存清单文件 CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.js NETWORK: login.asp FALLBACK: /html/ /offline.html 提示: 以"#"打头的是注释行, 但也可以服务另一个目的.应用程序的缓存只在其清单文件更改时更新. 如果你编辑一个图像或JavaScript功能的变化,这些变化会不会重新缓存. 在注释行中更新日期和版本是使浏览器重新缓存文件的一种方法. 应用程序缓存注意事项 小心你缓存的东西. 一旦文件被缓存,浏览器将继续显示缓存的版本,即使你改变服务器上的文件。要确保浏览器更新缓存,您需要更改清单文件. 注意: 浏览器会缓存数据的不同尺寸的限制(一些浏览器站点一5MB限制). HTML5 WEB存储 HTML5多线程