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