
离线状态及事件
通过离线Web应用程序的编程接口(API),Web开发者得以检查离线存储的状态并在需要时作出手动更改。可以通过window.applicationCache对象的status常童査询缓存状态。表列出了它们的值和含义。
要检索常量当前值,你只需要在浏览器控制台中键入其名称:
window.applicationCache.status,输出结果将会是表中的值。要想控制应用程序缓存行为,以下代码可以用于在浏览器必定触发的事件中执行检索:
宁波网站建设认为window.applicationCache.addEventListenerC'progress",function(e){alert("Newfiledownloaded");},false);
progress事件会在每次新文件加载完毕时触发,因此这段代码将在每次文件下载完毕后显示聱告窗口。表列出了所有事件。
将在浏览器上触发此事件。浏览器会在出错点停止所有脚本的执行,而错误原因也许是你在调试过程中完全未曾想到的。更多调试信息可见节。
JavaScriptAP丨为缓存提供两个额外方法:update()及swapCache(),让你可以在不重新加载页面的情况下通过Update按钮更新缓存。该按钮由以下HTML片段创建:
〈buttononclick="window.applicationCache.update();"〉updateapplicationCache〈/button〉
我们通过JavaScript代码控制updateready事件:
window.applicationCache.addEventListener("updateready",function(e){window.applicationCache.swapCache();alert("NewCacheinaction'^);},false);在成功下载完更新的同时,旧的缓存将被函数swapCacheO覆盖为新版本。updata函数首先检査缓存清单文件,若其没有改变,无论缓存中的某个文件是否改变,都不会进行更新。刷新页面跟单击该按钮是一样的效果。
某些情况下,手动或自动控制缓存更合适。举例来说,公共场所有一个无人值守的显示器,需要随时显示最新新闻。我们可以通过一个不断重复的函数(setlntervalO)在后台更新缓存,无论是否存在网络连接,系统都可以可靠地显示HTML页面。
规范还描述了一个用来表明浏览器是否在线的属性。若浏览器被设为不访问网络或网络访问失败,window.navigator.onLine将返回false,否则返回true。
即便window.navigator.onLine的值为true.也不意味着浏览器能访问互联网。
浏览器在局域网上也可以显示online.而不需要连接至公众互联网。
当今浏览器具有离线模式功能。例如在MozillaFirefox下,此功能在菜单File中为WorkOffline。若浏览器从在线模式变为离线模式,offline事件将被触发,反之则将触发online事件:
window.addEventListener("online",function(){alert("Youarenowonline"):
},false);
window.addEventListener("offline",function(){alert("YouarenowOFFLINE"):
},false);
此案例在浏览器改变在线状态的同时创建一个警告窗口。可离线应用程序可以利用这些事件从服务器下载最新数据或将本地储存数据上传至服务器。
本文由乐华网络编辑,转载请注明出处
宁波网站建设www.leseo.net