zoukankan      html  css  js  c++  java
  • HTML5系列之——applicationCache对象

    ApplicationCache主要简单介绍:

    applicationCache对象实现HTML5相应WEB离线功能。以下我们来主要解说applicationCache对象的一些主要功能和方法

    applicationCache对象记录着本地缓存的各种状态及事件。缓存的状态能够通过window.applicationCache.status获得,其状态

    主要包含例如以下6种:

    <span style="font-family:Microsoft YaHei;font-size:12px;">interface ApplicationCache:EventTarget{
    	const unsigned short UNCACHED=0;//未缓存
    	const unsigned short IDLE=1;//空暇状态
    	const unsigned short CHECKING=2;//检查中
    	const unsigned short DOWNLOADING=3;//下载中
    	const unsigned short UPDATEREADY=4;//更新准备中
    	const unsigned short OBSOLETE =5;//过期状态
    	readonly attribute unsigned short status;
    }</span>

    applicationCache缓存对象的事件例如以下表所看到的:

    事件名称

    说明

    Checking

    当user agent检查更新时,或者第一次下载manifest清单时,它往往是第一个被触发的事件

    Noupdate

    当检查到Manifest中清单文件不须要更新时,触发该事件

    Downloading

    第一次下载或更新manifest清单文件时,触发该事件

    Progress

    该事件与downloading类似,但downloading事件仅仅触发一次。Progress事件则在清单文件下载过程中周期性触发

    Cached

    当manifest清单文件完成下载及成功缓存后,触发该事件

    Upadateready

    此事件的含义表示缓存清单文件已经完成下载,可通过又一次载入页面读取缓存文件或者通过方法swapCache切换到新的缓存文件。经常使用语本地缓存跟新版本号后的提示

    Obsolete

    增加訪问manifest缓存文件返回HTTP404错误(页面未找到)或者410错误(永久消失)时,触发该事件

    Error

    若要达到触发该事件,须要满足一下几种情况之中的一个:

    1、已经触发obsolete事件

    2、manifest文件没有改变,但缓存文件里存在文件下载失败

    3、获取manifest资源文件时发生致命错误。

    4、当更新本地缓存时,manifest文件再次被更改。

     


    在实际的应用中,我们能够通过事件监听,并依据当前applicationCache对象的状态处理相关业务。

    例如以下代码所看到的:

    <span style="font-family:Microsoft YaHei;">applicationCache.addEventListener('updateready',function(){
    	//资源文件下载中,能够在此部分添加业务功能
    });</span>


    接下来值得注意的是,在平时的开发过程中,在使用applicationCache本地缓存的同一时候,往往须要推断当前浏览器的状态(在线或离线)。HTML5正好提供了一个属性,用于推断当前浏览器是否在线,代码例如以下:

    windowz.navigator.onLine

    假设返回ture,则说明当前浏览器online,返回false则说明当前浏览器offline

  • 相关阅读:
    计算机考研真题 浮点数加法
    计算机考研复试真题 整数奇偶排序
    计算机考研复试 A+B
    计算机考研复试真题 整数拆分
    计算机考研复试真题 众数
    1121 Damn Single (25 分)
    1112 Stucked Keyboard (20 分)
    1117 Eddington Number (25 分)
    1005 继续(3n+1)猜想 (25 分)
    1047 编程团体赛 (20 分)
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4301900.html
Copyright © 2011-2022 走看看