HTML 5 应用程序缓存

真是个好东西,在断线的情况下还能浏览网页

在index.html中


index.appcache中


index.appcache访问的mime-type是text/cache-manifest


apache里默认是配置好的 在apache\apache2.4.27\conf\mime.types


其原理从使用感受上来看先判断 index.appcache 文件有没有修改 要是修改了再判断index.appcache中列出的文件有没有修改,要是修改了 加载修改过的文件,没有修改都读缓存.要是index.cache列出了无效的文件,那么整个缓存会失败。


配置好之后 加载完网页 断网 刷新页面还能加载出来

事件和状态:

function getCacheStatus()

{

    var appCache = window.applicationCache;

    switch (appCache.status)

    {

        case appCache.UNCACHED: // UNCACHED == 0

            return 'UNCACHED';

        case appCache.IDLE: // IDLE == 1

            return 'IDLE';

        case appCache.CHECKING: // CHECKING == 2

            return 'CHECKING';

        case appCache.DOWNLOADING: // DOWNLOADING == 3

            return 'DOWNLOADING';

        case appCache.UPDATEREADY: // UPDATEREADY == 4

            return 'UPDATEREADY';

        case appCache.OBSOLETE: // OBSOLETE == 5

            return 'OBSOLETE';

    }

    return 'UKNOWN CACHE STATUS';

}

window.onload = function()

{

    var appCache = window.applicationCache;

    appCache.addEventListener('checking',function(e){console.log(e); });

    appCache.addEventListener('progress',function(e){console.log('progress',e); });


    appCache.addEventListener('updateready',function(e){

        console.log(e);

        appCache.swapCache();

        ////window.location.reload();

    });

    setInterval(function()

    {

        appCache.update();

        console.log("updating");

    }, 6000);

    console.log(window.navigator.onLine);

    window.addEventListener("offline", function(e){console.log(e);});

    window.addEventListener("online", function(e){console.log(e);});

};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 6,177评论 0 2
  • 来源:https://my.oschina.net/zhangstephen/blog/591575摘要: 浏览器...
    tiandashu阅读 9,866评论 0 1
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,714评论 0 13
  • 浏览器缓存(Browser Caching)是浏览器端保存数据用于快速读取或避免重复资源请求的优化机制,有效的缓存...
    fuyou2324阅读 10,582评论 0 8
  • 说好一场流星下的约会回来却是满身狼狈我背上的你酣然入睡 未见温馨的谩骂房间血色一片失去亲人的羁绊从此阴阳两端 记忆...
    陶墨墨阅读 1,432评论 1 4

友情链接更多精彩内容