【问题标题】:AppCache events firing late - WebkIt (Chrome and Safari)AppCache 事件延迟触发 - WebkIt(Chrome 和 Safari)
【发布时间】:2015-10-03 15:05:48
【问题描述】:

在我的网络应用程序中,我使用了 applicationCache 功能。我注册到 appCache 事件,如

appCache.addEventListener(<event_name>, handleCacheEvent, false);

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

    }

(在 event_name 中我注册到所有事件 - '缓存'、'检查'、'下载'等)。 但是,在 Chrome 日志中,我看到了这些日志:

应用程序缓存进度事件(第 1 个,共 15 个)
...
应用程序缓存进度事件(15 个中的 15 个)

在运行的最开始,然后是我的一些 JS 业务逻辑,几秒钟后我看到了我的日志

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

似乎事件侦听器不是在 appCache 的状态发生变化时触发的,而是在稍后的某个时候触发的。是这样吗?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 2011-11-03
      • 1970-01-01
      相关资源
      最近更新 更多