`
sungang_1120
  • 浏览: 323634 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

HTML5学习之——HTML 5 应用程序缓存

阅读更多

 

使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。

 

什么是应用程序缓存(Application Cache)?

HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问。

  • 离线浏览 - 用户可在应用离线时使用它们
  • 速度 - 已缓存资源加载得更快
  • 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源。

浏览器支持

所有主流浏览器均支持应用程序缓存,除了 Internet Explorer。

 

HTML5 Cache Manifest 实例

下面的例子展示了带有 cache manifest 的 HTML 文档(供离线浏览):

<!DOCTYPE html>
<html manifest="/example/html5/demo_html.appcache">
<body>
<script type="text/javascript" src="/example/html5/demo_time.js">
</script>
<p id="timePara"><button onclick="getDateTime()">获得日期和事件</button></p>
<p><img src="/i/w3school_banner.gif" /></p>
<p>请打开<a href="/example/html5/html5_html_manifest.html" target="_blank">这个页面</a>,然后脱机浏览,重新加载页面。页面中的脚本和图像依然可用。</p>
</body>
</html>

 

Cache Manifest 基础

如需启用应用程序缓存,请在文档的 <html> 标签中包含 manifest 属性:

<!DOCTYPE HTML>
<html manifest="demo.appcache">
...
</html>

 

每个指定了 manifest 的页面在用户对其访问时都会被缓存。如果未指定 manifest 属性,则页面不会被缓存(除非在 manifest 文件中直接指定了该页面)。

manifest 文件的建议的文件扩展名是:".appcache"。

 

请注意,manifest 文件需要配置正确的 MIME-type,即 "text/cache-manifest"。必须在 web 服务器上进行配置。

Manifest 文件

manifest 文件是简单的文本文件,它告知浏览器被缓存的内容(以及不缓存的内容)。

manifest 文件可分为三个部分:

  • CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存
  • NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存
  • FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)

CACHE MANIFEST

第一行,CACHE MANIFEST,是必需的:

CACHE MANIFEST
/theme.css
/logo.gif
/main.js

 

NETWORK

下面的 NETWORK 小节规定文件 "login.asp" 永远不会被缓存,且离线时是不可用的:

NETWORK:
login.asp

 可以使用星号来指示所有其他资源/文件都需要因特网连接:

NETWORK:
*

 

FALLBACK

下面的 FALLBACK 小节规定如果无法建立因特网连接,则用 "offline.html" 替代 /html5/ 目录中的所有文件:

FALLBACK:
/html5/ /404.html

 

注释:第一个 URI 是资源,第二个是替补。

更新缓存

一旦应用被缓存,它就会保持缓存直到发生下列情况:

  • 用户清空浏览器缓存
  • manifest 文件被修改(参阅下面的提示)
  • 由程序来更新应用缓存

实例 - 完整的 Manifest 文件

CACHE MANIFEST
# 2012-02-21 v1.0.0
/theme.css
/logo.gif
/main.js

NETWORK:
login.asp

FALLBACK:
/html5/ /404.html

 重要的提示:

以 "#" 开头的是注释行,但也可满足其他用途。应用的缓存会在其 manifest 文件更改时被更新。如果您编辑了一幅图片,或者修改了一个 JavaScript 函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。

 

 

关于应用程序缓存的注释

请留心缓存的内容。

一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。为了确保浏览器更新缓存,您需要更新 manifest 文件。

注释:浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB)。

分享到:
评论

相关推荐

    从入门到精通HTML5——PDF——网盘链接

     第2篇 HTML 5高级应用  第11章 HTML 5的新特性 221  视频讲解:6分钟  11.1 谁在开发HTML 5 222  11.2 HTML 5的新认识 222  11.2.1 兼容性 222  11.2.2 实用性和用户优先 222  11.2.3 化繁为简 223  11.3 ...

    HTML5——demo

    HTML5是下一代网页标准,它的出现极大地扩展了Web应用程序的功能,让开发者能够创建更富交互性和功能性的网页。本示例"HTML5——demo"是一个适用于Android平台的HTML5源码项目,它展示了如何在移动设备上运行HTML5...

    微信小程序项目实例——今日美食

    总的来说,“微信小程序项目实例——今日美食”是一个集前端技术、后端数据管理、用户体验设计于一体的综合项目,对于学习微信小程序开发和移动应用设计的人员来说,是一个很好的实践案例。通过分析和实施这个项目,...

    小程序学习系列——仿知乎界面

    【小程序学习系列——仿知乎界面】是一篇关于微信小程序开发的学习教程,主要目的是通过构建一个类似知乎的用户界面,让开发者掌握小程序的基本架构、组件使用和API调用等技能。在微信小程序的开发过程中,我们需要...

    安卓Android源码——结合html5jscss测试程序附源码.zip

    本项目“安卓Android源码——结合html5jscss测试程序附源码.zip”提供了一个示例,展示了如何在Android应用中嵌入和运行HTML5、JS和CSS代码。 1. **WebView组件**:在Android中,WebView是用于显示网页内容的关键...

    js,css缓存杀手——VS插件

    为了解决这个问题,“js,css缓存杀手——VS插件”应运而生。这款Visual Studio(VS)插件旨在帮助开发者批量为HTML中的`&lt;link&gt;`和`&lt;script&gt;`标签添加版本号,从而强制浏览器重新获取最新的资源,避免使用旧的缓存...

    Html5PPT_html5_HTML5PPT_

    8. **HTML5应用程序缓存**(第8章):App Cache(应用程序缓存)是HTML5离线存储的一部分,允许开发者创建离线Web应用,即使在没有网络连接的情况下,用户也能访问已缓存的网页内容。 9. **HTML5手机应用开发**(第...

    html5应用缓存_动力节点Java学院整理

    HTML5中的应用缓存(Application Cache)是一种离线存储技术,允许Web应用程序在用户没有网络连接的情况下仍能正常运行。这种技术通过创建一个名为`cache manifest`的文件,指定需要缓存的资源,从而实现离线浏览。...

    WEB数据库开发工具——WEB.SQL及其应用.pdf

    "WEB数据库开发工具——WEB.SQL及其应用" WEB.SQL 是 Sybase 公司推出的中间件产品,用于实现 Web 服务器与数据库服务器之间的互联。它允许用户在 HTML 页面中插入 SQL 数据库命令和 Perl 脚本,从而实现动态生成...

    HTML5本地存储——IndexedDB

    HTML5的本地存储技术是现代Web应用中一个重要的特性,其中IndexedDB是一个强大的、基于数据库的存储机制。...通过熟练掌握其API和工作原理,开发者可以构建更加健壮、响应迅速的Web应用程序,提升用户体验。

    ASP.NET缓存解决方案和最佳实践.doc

    本文将深入探讨ASP.NET的两种主要缓存方案——页输出缓存和应用程序缓存,并讨论在多服务器或分布式环境下的扩展缓存解决方案。 1. 页输出缓存 页输出缓存是ASP.NET中的一种常见优化手段,它保存页面的HTML输出,...

    小程序后端——简易音乐

    在IT行业中,小程序是一种轻量级的应用开发平台,主要用于移动端,提供无需下载安装即可使用的便捷体验。本项目“小程序后端——简易音乐”是针对这一领域的一个实例,它结合了前端与后端技术,实现了一个音乐播放器...

    HTML5.zip_c# html5_html5_html5 IOS_html5 web sql_ios html5

    在iOS平台上,结合HTML5,开发者可以创建跨平台的Web应用程序,甚至能够利用本地设备的一些特性,如离线存储、地理定位、多媒体播放等。本文将深入探讨HTML5、C#与iOS之间的关联以及Web SQL数据库的应用。 首先,...

    html5课程设计

    在“html5课程设计”这个项目中,我们可以学习到以下几个关键的HTML5知识点: 1. **新元素的引入**:HTML5引入了一些结构性元素,如(页眉)、(导航)、(区段)、(文章)、(侧边栏)和(页脚),这些元素帮助...

    WEB应用程序实例——小型教务管理系统

    【标题】"WEB应用程序实例——小型教务管理系统"揭示了一个基于Web技术的教育管理软件的开发实践。这个实例深入展示了如何构建一个实用的在线教务管理平台,它可以帮助学校或教育机构有效地组织和管理日常教学活动。...

    ASP网站整站程序源码——Sofee米表程序实例开发.rar

    这个压缩包“ASP网站整站程序源码——Sofee米表程序实例开发.rar”包含了一个基于ASP技术构建的网站应用程序,名为Sofee米表程序,主要用于域名管理或域名投资领域的业务操作。 Sofee米表程序是一个实用的工具,它...

    HTML5.rar_html5_html个人资料

    另外,HTML5引入了离线存储机制——Application Cache,允许开发者将一部分网页内容缓存到本地,即使在没有网络连接的情况下,用户也能访问部分网页内容,这对于离线应用和增强用户体验非常有帮助。 在表单处理方面...

    ASP网站整站程序源码——Sofee米表程序实例开发.zip

    5. **安全性**:任何Web应用程序都需要考虑安全问题,如SQL注入、跨站脚本攻击(XSS)等。理解如何通过验证用户输入、参数化查询和使用安全的编程实践来防止这些攻击是必要的。 6. **服务器配置**:ASP应用程序需要...

Global site tag (gtag.js) - Google Analytics