HTML5 应用程序缓存
- 上一页 HTML5 Web Storage
- 下一页 HTML5 Web Workers
使用应用程序缓存,通过创建 cache manifest 文件,可轻松创建 web 应用的离线版本。
什么是应用程序缓存?
HTML5 引入了应用程序缓存(Application Cache),这意味着可对 web 应用进行缓存,并可在没有因特网连接时进行访问。
应用程序缓存为应用带来三个优势:
- 离线浏览 - 用户可在应用离线时使用它们
- 速度 - 已缓存资源加载得更快
- 减少服务器负载 - 浏览器将只从服务器下载更新过或更改过的资源
浏览器支持
表格中的数字指示完全支持应用程序缓存的首个浏览器版本。
API | |||||
Application Cache | 4.0 | 10.0 | 3.5 | 4.0 | 11.5 |
HTML Cache Manifest 实例
下例展示了带有 cache manifest 的 HTML 文档(供离线浏览):
Shafi
!DOCTYPE HTML <html manifest="demo.appcache"> <body> Kafan kafan kafan kafan ...... </body> </html>
Cache Manifest Basa
Kafan yauyi ka dake kafan kafan cache, kafan yauyi ka dake kafan kafan manifest kafan kafan <html> kafan yauyi ka dake kafan kafan manifest:
!DOCTYPE HTML <html manifest="demo.appcache"> ... </html>
Kafan yauyi ka dake kafan manifest kafan kafan kafan yauyi ka kafan kama ana dake kafan kafan kafan kafan kafan yauyi ka dake kafan kafan. Dangi wanda yauyi ka dake kafan manifest yauyi ka dake kafan kafan yauyi ka bai kafan kafan (ka kafan yauyi ka dake kafan manifest kafan kafan kafan kafan).
Kafan manifest yauyi ka dake kafan kafan lafiya yauyi ka dake kafan ".appcache".
Rarrabe:Kafan manifest yauyi ka dake kafan MIME-type na sahih, yauyi ka dake kafan "text/cache-manifest". Yauyi ka dake kafan web server.
Manifest Kafan
Kafan manifest yauyi ka dake kafan text, yauyi ka dake kafan browser yauyi ka kafan kafan kafan (da kafan yauyi ka bai kafan kafan).
Kafan manifest yauyi ka dake kafan tawariya:
- CACHE MANIFEST - Kafan yauyi ka dake kafan koyarawa yauyi ka kafan kama ana dake kafan farko kafan yauyi ka kafan
- NETWORK - Kafan yauyi ka dake kafan koyarawa kama ana dake kama kafan yauyi ka bai kafan kama ana dake kafan
- FALLBACK - Kafan yauyi ka dake kafan koyarawa da yauyi ka dake kafan kama ana dake kafan (tarihin 404 masu dacewa)
CACHE MANIFEST
Wuri farko, CACHE MANIFEST, yauyi ka dake:
CACHE MANIFEST /theme.css /logo.gif /main.js
Kafan manifest yauyi ka dake koyarawa tawariya: fayil CSS, imaj GIF, da fayil JavaScript. Kafan manifest yauyi ka kaiya, browser yauyi ka kafan koyarawa root directory kafan tawariya: kafan. Dangi wanda ke dake kama ana dake kama kafan Internet, kafan tawariya yauyi ka bai kafan.
NETWORK
Koyarawar kaiya NETWORK yauyi ka dake kafan fayil "login.php", yauyi kuma yauyi kama ana dake kafan yauyi ka bai kafan:
NETWORK: login.asp
可以使用星号来指示所有其他其他资源/文件都需要因特网连接:
NETWORK: * FALLBACK
下面的 FALLBACK 部分规定如果无法建立因特网连接,则用 "offline.html" 替代 /html/ 目录中的所有文件:
FALLBACK: /html/ /offline.html
注释:第一个 URI 是资源,第二个是替补。
更新缓存
一旦应用被缓存,它就会保持缓存直到发生下列情况:
- 用户清空浏览器缓存
- manifest 文件被修改(参阅下面的提示)
- 由程序来更新应用缓存
实例 - 完整的 Cache Manifest 文件
CACHE MANIFEST # 2012-02-21 v1.0.0 /theme.css /logo.gif /main.js NETWORK: login.asp FALLBACK: /html/ /offline.html
提示:以 "#" 开头的是注释行,但也可满足其他用途。应用的缓存只会在其 manifest 文件改变时被更新。如果您编辑了一幅图像,或者修改了一个 JavaScript 函数,这些改变都不会被重新缓存。更新注释行中的日期和版本号是一种使浏览器重新缓存文件的办法。
关于应用程序缓存的注意事项
请留心缓存的内容。
一旦文件被缓存,则浏览器会继续展示已缓存的版本,即使您修改了服务器上的文件。为了确保浏览器更新缓存,您需要更新 manifest 文件。
注释:浏览器对缓存数据的容量限制可能不太一样(某些浏览器的限制是每个站点 5MB)。
- 上一页 HTML5 Web Storage
- 下一页 HTML5 Web Workers