)AppCacheを使用してリソースをブラウザのキャッシュに保存しているアプリケーションがあります。私はキャッシュされている(適切にフィルタリングされていなければならない)すべてのファイルを自動的に書き込むために、PHPファイルでマニフェストを設定することができました。このファイルのヘッダは、以下の通りである:HTML5 - ApplicationCacheが一部のファイルを更新しません(
header('Content-Type: text/cache-manifest');
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
それはappcache.php
と呼ばれていますし、それが私のHTMLで正しく参照されます:私はマニフェストを更新
<html manifest="appcache.php">
毎回、アプリがアップデートやイベントを検出し、 キャッシュが更新され、ページが更新されるようにページが更新されます()。
しかし、ファイルの一部(主にJavascriptとCSSファイル)が正しく更新されない。ときどきいくつかのマニフェストアップデート(プロセス全体で)が必要な場合があります。時には1つしかかかりません。時にはそれが必要となり、ブラウザのキャッシュを削除するか、シークレットモードに行ってください。
アプリがアップデートを検出したため、マニフェストがキャッチされず、が正しく更新されています。問題は、ファイルが再度ダウンロードされたであっても、古いバージョンで提供されていることです。主な問題は、一部のファイルでのみ発生することです(時にはcssファイル、時にはjsなどです)のファイルは更新されません)。
実際には、Chrome v59を使用していますが、Chrome v60搭載のAndroid搭載端末でも同じことが起こります。
正しくリフレッシュされない理由は何ですか?これは既知のバグですか?それを解決するために何かできることはありますか?
UPDATE
私がそれらの間の短い時間でいくつかの更新を行ってきたとき、それは最も起こるようです。 24時間ほど待ってから、最初の試行で動作します。たぶん、これが起こる理由を推測するのに役立ちます。
ありがとうございます。
それは正しく全体のプロセスを行い、マニフェストが更新されます(またはイベントがトリガされません)エラーがない、どちらもありませんそれは、アプリケーションが変更されたことを検出したためにキャッチされていません。問題は、一部のファイルが更新され、他のファイル(主にjsとcss)は更新されないということです。 – Unapedra