美文网首页WEB前端开发技术杂谈
html使用Application来缓存页面

html使用Application来缓存页面

作者: 传奇狗 | 来源:发表于2019-08-15 18:46 被阅读0次

    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 的顺序冒泡。

    相关文章

      网友评论

        本文标题:html使用Application来缓存页面

        本文链接:https://www.haomeiwen.com/subject/ulqtsctx.html