html使用Application Cache的优点就是可以设置网站的某些资源缓存到本地浏览器当中,脱机之后仍然可以访问该资源。
目前除了 Internet Explorer,基本上所有主流浏览器均支持Application Cache。
Application Cache的用法:
1.新建一个后缀为‘.appcache’的Manifest 文件。
# 其中“CACHE MANIFEST”是必须要有的。
CACHE MANIFEST
CACHE:
# 需要缓存的列表,第一次加载之后就缓存到了浏览器。
/navigate.js
# “NETWORK”里面的文件永远不会被缓存,且离线时是不可用的,比如a.js永远不会被缓存
NETWORK:
/a.js
# 如果使用星号来指示所有其他资源/文件都需要因特网连接
NETWORK:
*
# “FALLBACK”表示如果无法访问到资源,就会连接到URI为“/a/”,中的“/404.html”。
FALLBACK:
/a/ /404.html
2.在<html>标签中引用Manifest 文件。
3.效果:
没有配置Manifest 文件文件的效果:
配置缓存:/navigate.js后的效果
此时,断网之后也可以访问到navigate.js文件。
目录结构 配置列表更新缓存会重新加载(如果出现下面三种情况,则会重新加载之前的资源)
1.用户清空浏览器缓存
2.manifest 文件被修改(参阅下面的提示)
3.由程序来更新应用缓存
1.自动更新:浏览器除了在第一次访问 Web 应用时缓存资源外,只会在 cache manifest 文件本身发生变化(即使是注释变化)时更新缓存。而 cache manifest 中的资源文件发生变化并不会触发更新。
2.手动更新:开发者也可以使用 window.applicationCache 的接口更新缓存。方法是检测 window.applicationCache.status 的值,如果是 UPDATEREADY,那么可以调用 window.applicationCache.update() 更新缓存。示范代码如下。
if(window.applicationCache.status == window.applicationCache.UPDATEREADY) {
window.applicationCache.update();
}
在线状态检测和监视(引用)
1.检测:navigator.onLine 属性表示当前是否在线。如果为 true, 表示在线;如果为 false, 表示离线
2.监视:当在线 / 离线状态切换时会触发online/offline 事件,这两个事件触发在 body 元素上,并且沿着 document.body、document 和 window 的顺序冒泡。
网友评论