我正在使用HTML5中与应用程序缓存相关的工作。我在body onload中添加了addCacheListeners()。这适用于移动safari和chrome,但不适用于Android浏览器。当谈到Android浏览器时,会触发错误事件。
function addCacheListeners(){
var appCache=window.applicationCache;
if(appCache!== 'undefined'){
alert("defined");
appCache.addEventListener('checking', function(e){
}, false);
appCache.addEventListener('progress', function(e){
}, false);
appCache.addEventListener('updateready', function(e) {
alert("update is ready");
if (appCache.status == appCache.UPDATEREADY){
appCache.swapCache();
updateappInfo();
}
}, false);
appCache.addEventListener('noupdate', function(e){
updateappInfo();
}, false);
appCache.addEventListener('error', function(e){
alert("error" + e.message);
}, false);
appCache.addEventListener('cached', function(e){
alert("cached");
updateappInfo();
}, false);
}
if (appCache=== 'undefined'){alert("undefined");}
}
有关于此的任何想法吗? 非常感谢。
答案 0 :(得分:2)
此问题仅适用于Android浏览器,因为它不支持“.manifest”扩展,而且托管服务器中没有MIME类型配置。
因此,尝试将'.manifest'添加为MIME类型之一,但由于它不支持已经附加了其他引用的MIME类型,因此失败了。
添加'.appcache'或'apache'使其正常运行。
<mimeMapfileExtension=".apache"mimeType="text/cache-manifest" />