マニフェスト エントリを取得すると、次のようになります。
<html manifest="cache.manifest">
その後、そのページ (キャッシュ内のマスター エントリ) は、後で html タグからマニフェスト属性を削除してマニフェストを (その中の何か)、他のすべてと一緒にマスターエントリを強制的にリロードします。
つまり、次の場合:
- index.html (マニフェストが定義されている)
- file1.js (マニフェストで参照)
- file2.js (マニフェストで参照)
- cache.manifest (2 つの js ファイルを一覧表示)
-- index.html からマニフェスト エントリを削除し、マニフェストを変更しても (ブラウザによって期限切れになり、すべてのコンテンツがリロードされます)、このページがまだ完全にキャッシュされているかのように動作しなくなります。index.html でソースを表示すると、マニフェストが一覧表示されなくなりますが、ブラウザーは引き続き cache.manifest ファイルのみを要求し、そのファイルの内容が変更されない限り、ファイルに対するその他の変更は表示されません。ユーザー。
これはかなり明白なバグのようで、iOS だけでなく Mac バージョンの Safari にも存在します。ユーザーの介入を必要とせずにページをリセットしてキャッシュを削除する方法を見つけた人はいますか?