Html 脱机时应用程序缓存和错误

Html 脱机时应用程序缓存和错误,html,application-cache,Html,Application Cache,我有一个HTML5离线应用程序,它工作得相当好,缓存进行验证,并且通常可以工作,直到我实际强制设备(或计算机)离线 我有一个附加到window.applicationCache.onerror的处理程序,因此我可以处理并提示可能发生的任何随机错误: window.applicationCache.onerror = function (e) { console.log(JSON.stringify(e)); model.errorInfo(JSON.stringify(e));

我有一个HTML5离线应用程序,它工作得相当好,缓存进行验证,并且通常可以工作,直到我实际强制设备(或计算机)离线

我有一个附加到
window.applicationCache.onerror
的处理程序,因此我可以处理并提示可能发生的任何随机错误:

window.applicationCache.onerror = function (e) {
    console.log(JSON.stringify(e));
    model.errorInfo(JSON.stringify(e));
    model.cacheError(true);
};
但是,这个错误处理程序也会在设备脱机时触发,这会在设备确实不应该脱机时引发错误对话框

该文件给出的JSON如下所示:

{"cancelBubble":false,"returnValue":true,
 "srcElement":{"onobsolete":null,"status":1},"defaultPrevented":false,
 "timeStamp":1351875347729,"cancelable":false,"bubbles":false,
 "eventPhase":2,"currentTarget":{"onobsolete":null,"status":1},
 "target":{"onobsolete":null,"status":1},"type":"error"}
我看这里没有什么太明显的,我可以寻找什么来处理这个特殊的情况。我应该忽略基于这里的错误,还是完全做其他事情

…当设备脱机时,此错误处理程序也会启动,这会在设备确实不应该启动时引发错误对话框

这实际上是这种情况下最常见的情况,因为
applicationCache
无法获取清单,因此无法对可能更新的清单执行操作。在这种情况下再举办一次活动会很好,但现在没有


如果要向用户显示有关缓存状态的有用信息:请在每次触发
错误
事件时检查
applicationCache.status
,查看更新以前缓存的应用程序(
applicationCache.status==1
)或初始缓存(
applicationCache.status==0
)时是否存在错误

你知道,我读了说明书,我错过了那部分,尽管我现在看到了。尽管如此,在已经缓存的页面上应该如何处理服务器错误之类的事情(例如,当客户端下载更新的清单时,服务器抛出500个错误?)规范规定,当出现任何4xx或5xx错误或等效错误时,必须运行,包括触发
错误
事件。如果API将状态代码呈现给
applicationCache
对象就好了,但现在它只是将所有各种错误(无论是网络错误还是解析错误)集中在一个
错误
事件下。也许有一天这会有所改善。