1

キャッシュ マニフェストを利用しようとしています -- Chrome と Safari ではすべて正常に動作するようですが、モバイル Safari では動作しません。

HTML5 オフライン アプリについて概説されている標準に準拠していることを確認しました。

  1. 読み込まれた単一サイトのページに <html manifest="cache.manifest"> を追加しました

  2. マニフェストの MIME タイプが正しいことを確認 (.htaccess で設定): AddType text/cache-manifest .manifest

  3. 構文的に正しいマニフェストを用意します ( http://manifest-validator.com/で検証済み)。すべてのアセットは相対パスで参照されます (したがって、プロトコルは変更されません)。

Chrome と Safari で Javascript エラーは発生せず、次の便利なスニピットを使用して関連するイベントをコンソールに記録しています。

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('cached',logEvent,false);
window.applicationCache.addEventListener('updateready',logEvent,false);
window.applicationCache.addEventListener('obsolete',logEvent,false);
window.applicationCache.addEventListener('error',logEvent,false);

ただし、モバイル Safari では、「アプリケーション キャッシュ マニフェストをフェッチできませんでした」というエラーがログに記録され、「チェック中」および「エラー」のログ イベントが他に説明なしで記録されます。何か案は?

4

1 に答える 1

2

気にしないでください... .htpasswd の背後でマニフェストを使用できないことが判明しました。それを無効にするとうまくいきました。

于 2012-03-08T20:00:25.610 に答える