AppCache事件迟到 - WebkIt(Chrome和Safari)

时间:2015-07-14 19:35:28

标签: javascript html5 google-chrome html5-appcache offline-caching

在我的网络应用中,我使用了applicationCache功能。我注册了像

这样的appCache事件
appCache.addEventListener(<event_name>, handleCacheEvent, false);

function handleCacheEvent(e) {
        console.log('handleCacheEvent appcache event: '+ e.type+' appCache.status: '+appCache.status);

    }

(在event_name中,我注册了所有活动 - &#39;缓存&#39;,&#39;检查&#39;,&#39;下载&#39;等)。 但是,在Chrome日志中,我会看到以下日志:

  

应用程序缓存进度事件(15 of 1)
  ...
  应用程序缓存进度事件(15/15)

在运行的最初阶段,然后是我的一些JS业务逻辑,几秒钟后我就会看到我的日志

  

appcache事件:进度appCache.status:1
...

当appCache的状态发生变化时,似乎没有触发事件监听器,而是稍后在某个时刻触发。是这样吗?

1 个答案:

答案 0 :(得分:0)

是的,我看过同样的事情。当我向这些事件添加事件侦听器并记录它们时,我的日志消息总是出现在所有浏览器的日志消息之后。我认为这是因为浏览器在页面内容加载完成之前就开始加载appcache,因为appcache在后台运行。这仍然让您有机会以编程方式处理appcache事件,同时让浏览器做出符合规范的事情。