パフォーマンスを承認するためにアプリキャッシュを使用しようとしています。アンドロイドデバイスでアプリキャッシュが機能しません(Chromeブラウザでうまく機能します)
私はさまざまなサイトで案内されています。 (例:http://xguru.net/621 ...)
make mime-typeをtext/cache-manifestとして設定します。
問題は、それがGoogle Chromeブラウザでも動作しますが、私のAndroid携帯電話では動作しません...
です。
私はICSとジンジャーブレッドでテストしました。
これはマニフェストファイルです。
CACHE MANIFEST
# manifest version v0.1
CACHE:
./programs.png
./video.png
NETWORK:
*
このように私はwebviewを設定しました。
getSettings().setAppCacheEnabled(true);
getSettings().setDomStorageEnabled(true);
getSettings().setPluginsEnabled(true);
getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
(私はLOAD_NORMAL、NO_CACHEにCACHEMODEを変更しましたが、それは違うではありません。)
キャッシュ状態を確認するには、私はこのサイトを使用しています。 http://jonathanstark.com/blog/2009/09/27/debugging-html-5-offline-application-cache/
var cacheStatusValues = [];
cacheStatusValues[0] = 'uncached';
cacheStatusValues[1] = 'idle';
cacheStatusValues[2] = 'checking';
cacheStatusValues[3] = 'downloading';
cacheStatusValues[4] = 'updateready';
cacheStatusValues[5] = 'obsolete';
var cache = window.applicationCache;
cache.addEventListener('cached', logEvent, false);
cache.addEventListener('checking', logEvent, false);
cache.addEventListener('downloading', logEvent, false);
cache.addEventListener('error', logEvent, false);
cache.addEventListener('noupdate', logEvent, false);
cache.addEventListener('obsolete', logEvent, false);
cache.addEventListener('progress', logEvent, false);
cache.addEventListener('updateready', logEvent, false);
function logEvent(e) {
var online, status, type, message;
online = (navigator.onLine) ? 'yes' : 'no';
status = cacheStatusValues[cache.status];
type = e.type;
message = 'online: ' + online;
message+= ', event: ' + type;
message+= ', status: ' + status;
if (type == 'error' && navigator.onLine) {
message+= ' (prolly a syntax error in manifest)';
}
console.log(message);
}
window.applicationCache.addEventListener(
'updateready',
function(){
window.applicationCache.swapCache();
console.log('swap cache has been called');
},
false
);
最後に、これは私が私のアンドロイド携帯電話上で参照ログです。
[cache Resource] app cache support!
[cache Resource] DOWNLOADING
[cache Resource] event online: yes, event: checking, status: uncached
[cache Resource] event online: yes, event: downloading, status: uncached
[cache Resource] event online: yes, event: progress, status: uncached
[cache Resource] event online: yes, event: progress, status: uncached
[cache Resource] event online: yes, event: error, status: uncached (prolly a syntax error in manifest)
画像はダウンロードされますが、最終行でエラーが発生します。 それは常にキャッシュされていません。
問題はwebviewの設定やアンドロイドアプリケーションにあると思います。 しかし、私はそれを処理することはできません。
は私のアプリのキャッシュを使用するためのヒントを与える。.. plzは...
同じエラーが発生しました...マニフェスト内のすべてのエントリを削除したので、マスターページをキャッシュするだけです(チェック、ダウンロード、エラー)。 –