Кэш приложения в HTML5 не работает в приложении Android PhoneGap
Я пытаюсь использовать кэш приложения в HTML5 для приложения Android PhoneGap, но это не работает, оно не работает с ApplicationCahce Events.
function logEvent(event) {
console.log(event.type);
}
window.applicationCache.addEventListener('checking', logEvent, false);
window.applicationCache.addEventListener('noupdate', logEvent, false);
window.applicationCache.addEventListener('downloading', logEvent, false);
window.applicationCache.addEventListener('progress', logEvent, false);
window.applicationCache.addEventListener('cached', logEvent, false);
window.applicationCache.addEventListener('updateready', logEvent, false);
window.applicationCache.addEventListener('obsolete', logEvent, false);
window.applicationCache.addEventListener('error', logEvent, false);
Кроме того, этот код работает в iOS PhoneGap и Android Browser, а также по этой ссылке для поддерживаемых платформ. Приложение Cahce Поддерживаемые платформы
Итак, любое предложение было бы полезно.
3 ответа
Я считаю, что кеш приложения не включен по умолчанию в WebView. То, что вам нужно будет сделать, это в классе Java, который расширяет вызов DroidGap:
this.appView.getSettings().setAppCacheEnabled(true);
в вашем методе onCreate().
Вам также может понадобиться позвонить:
this.appView.getSettings().setAppCacheMaxSize(sizeInBytes);
this.appView.getSettings().setAppCachePath(pathToCacheDir);
Обратите внимание, что каталог кэша должен существовать до вызова setAppCachePath().
Следить за публикациями...
http://developer.android.com/reference/android/webkit/WebSettings.html) http://developer.android.com/reference/android/webkit/WebSettings.html) http://developer.android.com/reference/android/webkit/WebSettings.html)
Для pathToCacheDir используйте:
String pathToCacheDir = this.getApplicationContext().getCacheDir().getAbsolutePath()
Вы установили правильный тип пантомимы? Сначала я использую ".txt", например:
<!DOCTYPE html>
<html manifest="cache.txt">
<head>
Он хорошо работает в iOS, Chrome, но не работает в Android!
Когда я устанавливаю правильный MIME-тип, он хорошо работает ~
В tomcat расширением по умолчанию было ".appcache", а типом mime по умолчанию было:
<mime-mapping>
<extension>appcache</extension>
<mime-type>text/cache-manifest</mime-type>
</mime-mapping>