2013-09-23 4 views
2

Я работаю в кэше приложений в HTML5. Я добавил addCacheListeners() в bodyload. Это прекрасно работает с мобильным сафари и хром, но НЕ с браузером Android. когда дело доходит до браузера 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");} 
    } 

Любая идея относительно этого? Спасибо, кучка.

ответ

2

Эта проблема относится только к браузеру Android, поскольку она не поддерживает расширение .manifest без конфигурации MIME-типа на размещенном сервере.

Поэтому, попробовал добавить '.manifest' в качестве одного из MIME-типов, но это было неудачно, поскольку оно не поддерживается как тип MIME, который уже прикреплен с помощью другой ссылки.

Добавление «.appcache» или «apache» было сделано его функциональным.

<mimeMapfileExtension=".apache"mimeType="text/cache-manifest" /> 

(источник: Load cache manifest file)

 Смежные вопросы

  • Нет связанных вопросов^_^