没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
使用使用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 应用代码应用代码
<!-- clock.html -->
<!DOCTYPE HTML>
<html>
<head>
<title>Clock</title>
<script src="clock.js"></script>
<link rel="stylesheet" href="clock.css">
</head>
<body>
<p>The time is: <output id="clock"></output></p>
</body>
</html>
/* clock.css */
output { font: 2em sans-serif; }
/* clock.js */
setTimeout(function () {
document.getElementById('clock').value = new Date();
}, 1000);
当用户在离线状态下访问“clock.html”时,页面将无法展现。为了支持离线访问,开发者必须添加 cache manifest 文件,指明
需要缓存的资源。这个例子中的 cache manifest 文件为“clock.manifest”,它声明了 3 个需要缓存的资源文件“clock.html”、
“clock.css”和“clock.js”。
清单清单 2. clock.manifest 代码代码
CACHE MANIFEST
clock.html
clock.css
clock.js
添加了 cache manifest 文件后,还需要修改“clock.html”,把 <html> 标签的 manifest 属性设置为“clock.manifest”。修改后
的“clock.html”代码如下。
清单清单 3. 设置设置 manifest 后的后的 clock.html 代码代码
<!-- clock.html -->
<!DOCTYPE HTML>
<html manifest="clock.manifest">
<head>
<title>Clock</title>
<script src="clock.js"></script>
<link rel="stylesheet" href="clock.css">
</head>
<body>
<p>The time is: <output id="clock"></output></p>
</body>
</html>
修改后,当用户在线访问“clock.html”时,浏览器会缓存“clock.html”、“clock.css”和“clock.js”文件;而当用户离线访问时,这个
Web 应用也可以正常使用了。
cache manifest 格式
下面说明书写 cache manifest 文件需要遵循的格式。
首行必须是 CACHE MANIFEST。
其后,每一行列出一个需要缓存的资源文件名。
可根据需要列出在线访问的白名单。白名单中的所有资源不会被缓存,在使用时将直接在线访问。声明白名单使用
NETWORK:标识符。
如果在白名单后还要补充需要缓存的资源,可以使用 CACHE:标识符。
如果要声明某 URI 不能访问时的替补 URI,可以使用 FALLBACK:标识符。其后的每一行包含两个 URI,当第一个 URI 不可
访问时,浏览器将尝试使用第二个 URI。
注释要另起一行,以 # 号开头。
清单 4 的代码中给出了 cache manifest 中各类标识符的使用示例。
清单清单 4. cache manifest 示例代码示例代码
剩余10页未读,继续阅读
资源评论
weixin_38655767
- 粉丝: 3
- 资源: 923
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功