HTML5 应用程序缓存
使用 HTML5,您可以通过创建缓存清单文件轻松创建 Web 应用程序的离线版本。
注意:清单技术已被 Web 标准弃用,不再推荐使用此功能。
什么是应用程序缓存?
HTML5 引入了应用程序缓存,这意味着无需 Internet 连接即可缓存和访问 Web 应用程序。
应用程序缓存为应用程序带来了三个优势:
离线浏览 - 用户可以在离线时使用应用程序 速度 - 缓存资源加载速度更快 减少服务器负载 - 浏览器只会从服务器下载更新或修改的资源。浏览器支持
Internet Explorer 10、Firefox、Chrome、Safari 和 Opera 支持应用程序缓存。
HTML5 缓存清单实例
以下示例显示了带有缓存清单的 HTML 文档(用于离线查看):
例子
.appcache">
文档内容...
尝试一下
缓存清单基础知识
要启用应用程序缓存,请在文档的标记中包含清单属性:
.appcache">
...
当用户访问每个指定清单的页面时,都会对其进行缓存。 如果未指定清单属性,则不会缓存页面(除非直接在清单文件中指定)。
清单文件的建议文件扩展名是:“.appcache”。
请注意,清单文件需要配置正确的 MIME 类型,即“text/cache-manifest”。 必须在 Web 服务器上配置。
清单文件
清单文件是一个简单的文本文件,告诉浏览器缓存什么(以及不缓存什么)。
清单文件可以分为三部分:
缓存清单
第一行 CACHE MANIFEST 是必需的:
缓存清单
/主题.css
/标志.gif
/main.js
上面的清单文件列出了三个资源:CSS 文件、GIF 图像和 JavaScript 文件。 当manifest文件加载时html5的缓存机制,浏览器会从网站根目录下载这三个文件。 但是,每当用户断开与 Internet 的连接时,这些资源仍然可用。
网络
下面的 NETWORK 部分指定文件“login.php”永远不会被缓存并且无法离线使用:
网络:
登录.php
星号可用于指示所有其他资源/文件需要 Internet 连接:
网络:
倒退
下面的 FALLBACK 部分指定,如果无法建立 Internet 连接,则 /html5/ 目录中的所有文件都应替换为“offline.html”:
倒退:
/html//离线.html
注意:第一个 URI 是资源,第二个是备用 URI。
刷新缓存
应用程序被缓存后html5的缓存机制,它将保持缓存状态,直到发生以下情况之一:
示例 - 完整的清单文件
缓存清单