读书人

HTML5离线功使用能详解

发布时间: 2013-03-12 11:19:35 作者: rapoo

HTML5离线功应用能详解
简介: Web2.0 技术鼓励个人的参与,每个人都是 Web 内容的撰写者。如果 Web 应用能够提供离线的功能,让用户在没有网络的地方(例如飞机上)和时候(网络坏了),也能进行内容撰写,等到有网络的时候,再同步到 Web 上,就大大方便了用户的使用。HTML5 作为新一代的 HTML 标准,包含了对离线功能的支持。本文介绍了 HTML5 离线功能中的离线资源缓存、在线状态检测、本地数据存储等内容,并举例说明了如何使用 HTML5 的新特性开发离线应用。

HTML5 离线功能介绍

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”组成。


清单 1. Clock 应用代码

复制内容到剪贴板
  1. 复制内容到剪贴板
    1. 复制内容到剪贴板
      1. 复制内容到剪贴板
        1. 复制内容到剪贴板
          1. 复制内容到剪贴板
            1. 复制内容到剪贴板
              1. 复制内容到剪贴板
                1. 复制内容到剪贴板
                  1. 复制内容到剪贴板
                    1. 复制内容到剪贴板
                      1. 复制内容到剪贴板


                        1. 这个页面的源文件是 index.html,它的代码如清单 8 所示。


                          清单 8 页面 HTML 代码

                          复制内容到剪贴板
                          1. 复制内容到剪贴板
                            1. 复制内容到剪贴板
                              1. 复制内容到剪贴板
                                1. 复制内容到剪贴板
                                  1. function addServerItem(title) {
                                  2. // 在服务器中添加一项 }
                                  3. function removeServerItem(title)
                                  4. { // 在服务器中删除一项
                                  5. }
                                  6. function getServerItems() {
                                  7. // 返回服务器中存储的便签列表 }
                                  由于这部分代码与服务器有关,这里只说明各个函数的功能,具体实现可以根据不同服务器编写代码。在服务器中添加一项:addServerItem在服务器中删除一项:removeServerItem返回服务器中存储的便签列表:getServerItems

                                总结

                                本文介绍了 HTML5 为了支持离线应用程序新增的强大功能。通过阅读本文,读者能够了解到 HTML5 中离线相关特性的基本用法,从而掌握利用 HTML5 开发 Web 离线应用的方法。

                                1楼yefighter3天前 14:06
                                写的不错 学习了

读书人网 >CSS

热点推荐