appCache事件从未在Chrome for HTML5中触发过

时间:2015-02-14 06:07:16

标签: html5

我正在使用HTML5进行离线网站。我在javascript文件中为事件监听器编写了一些代码。但事件永远不会被解雇。

var appCache = window.applicationCache;
if (appCache) {

    appCache.addEventListener('noupdate', function (event) {
        handleEvent(event);

    }, false);
    appCache.addEventListener('cached', function (event) {
        handleEvent(event);
    }, false);
    appCache.addEventListener('updateready', function (event) {
        handleEvent(event);
    }, false);
    appCache.addEventListener('progress', function (event) {
        handleEvent(event);
    }, false);

    appCache.addEventListener('error', function (event) {
        handleEvent(event);

    }, false);

}
else {
    console.log("Not Support");
};

事件可以在Firefox和IE中触发,但不能在Chrome中触发。似乎在Chrome中,首先它将检查清单版本,然后将资源缓存在清单文件中,其次它将执行js文件。所以在方法注册之前事件已经完成。我该怎么办?谢谢。

1 个答案:

答案 0 :(得分:0)

您应该在第一次加载脚本时手动检查window.applicationCache.status变量,然后依赖事件监听器。