HTML5 是目前正在讨论的新一代 HTML 标准,它代表了现在 Web 领域的最新发展方向。在 HTML5
标准中,加入了新的多样的内容描述标签,直接支持表单验证、视频音频标签、网页元素的拖拽、离线存储和工作线程等功能。
其中一个新特性就是对离线应用开发的支持。
在开发支持离线的 Web 应用程序时,开发者通常需要使用以下三个方面的功能:
- 离线资源缓存:需要一种方式来指明应用程序离线工作时所需的资源文件。这样,浏览器才能在在线状态时,把这些文件缓存到本地。
- 此后,当用户离线访问应用程序时,这些资源文件会自动加载,从而让用户正常使用。HTML5
中,通过 cache manifest 文件指明需要缓存的资源,并支持自动和手动两种缓存更新方式。
- 在线状态检测:开发者需要知道浏览器是否在线,这样才能够针对在线或离线的状态,做出对应的处理。在 HTML5
中,提供了两种检测当前网络是否在线的方式。
- 本地数据存储:离线时,需要能够把数据存储到本地,以便在线时同步到服务器上。为了满足不同的存储需求,HTML5 提供了 DOM Storage 和 Web
SQL Database 两种存储机制。前者提供了易用的 key/value 对存储方式,而后者提供了基本的关系数据库存储功能。
尽管 HTML5 还处于草稿状态,但是各大主流浏览器都已经实现了其中的很多功能。Chrome、Firefox、Safari 和 Opera 的最新版本都对
HTML5 离线功能提供了完整的支持。IE8 也支持了其中的在线状态检测和 DOM Storage 功能。下面将具体介绍 HTML5
离线功能中的离线资源缓存、在线状态检测、DOM Storage 和 Web SQL Database,最后通过一个简单的 Web 程序说明使用 HTML5
开发离线应用的方法。
回页首
离线资源缓存
为了能够让用户在离线状态下继续访问 Web 应用,开发者需要提供一个 cache manifest
文件。这个文件中列出了所有需要在离线状态下使用的资源,浏览器会把这些资源缓存到本地。本节先通过一个例子展示 cache manifest
文件的用途,然后详细描述其书写方法,最后说明缓存的更新方式。
cache manifest 示例
我们通过 W3C 提供的示例来说明。Clock Web
应用由三个文件“clock.html”、“clock.css”和“clock.js”组成。
时间: 2024-10-09 01:17:53