我正在使用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文件。所以在方法注册之前事件已经完成。我该怎么办?谢谢。
答案 0 :(得分:0)
您应该在第一次加载脚本时手动检查window.applicationCache.status
变量,然后依赖事件监听器。