アプリケーションキャッシュ
故あってアプリケーションキャッシュを使う必要がある。HTMLとかがキャッシュされるので便利だなぁ、と思っていたら、なんかいろいろ制約やら問題やらあるっぽい。
- iOSのSafariで使用する場合、JavaScriptによるキャッシュ初期化処理を入れておかないとひどい目にあう。
アプリケーションキャッシュの設定をして、iOSのSafariでアクセスすると、ブラウザの設定とかそういうのではキャッシュは削除できない。つまり一度キャッシュされたら最後、再インストールするまでキャッシュされ続ける(と@ITに書いてあった)。キャッシュの設定ファイルに更新日を記述しておくが、それも役に立たないらしい。で、 それを回避するにはあらかじめそういうチェックをするためのスクリプトを用意しておく必要があるとのこと。うっかり忘れたら偉いことになりそうな予感。
var cache = window.applicationCache;
cache.addEventListener(“updateready”, function() {
if (confirm(‘アプリケーションの新しいバージョンが利用可能です。更新しますか?’)) {
cache.swapCache();
location.reload();
}
});
if (navigator.onLine) {
cache.update();
}
- 上記に関連することだけれど、キャッシュ設定ファイルを設置する際に、<html manifest=”…”>と記述するらしいのだが、このキャッシュ設定ファイル自体をキャッシュしてしまう、という問題があるとのこと。まぁ、そういう意味で日付とかシリアル番号とか入れるのかも知れない。
いずれにしてもうかつには手を出せない気がする。詳しく調べてからチャレンジすることにしょう。
恐るべし、アプリケーションキャッシュ。