0

)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時間ほど待ってから、最初の試行で動作します。たぶん、これが起こる理由を推測するのに役立ちます。

ありがとうございます。

答えて

0

あなたのマニフェストファイルがキャッシュなっている可能性があり、私はすべての新しいを強制するには、swapCache方法に

$(function() {  
if (window.applicationCache) { 
     applicationCache.addEventListener('updateready', function() {   
    if (window.applicationCache.status == 
     window.applicationCache.UPDATEREADY) { 
     window.applicationCache.swapCache(); 
     console.log("appcache updated"); 
     window.location.reload(); 
     } 
    }); 
    } 
    } 

他のものを追加することを示唆していることがrightaway

を期限切れにするためのヘッダを満了し設定することができます(または変更された)ファイルをダウンロードするには、 マニフェストファイルを更新する必要があります。

最も一般的なのは、正しいMIMEタイプ(text/cache-manifest)でマニフェストを提供していない可能性があるということです。

エラーが発生している可能性があります。エラーをチェックする最も簡単な方法は、Chromeでページを開き、コンソールと[AppCache]の[リソース]タブを調べて、エラーがあるかどうかを確認することです。アップ誤っまた、カール-Iコマンドでそれをテストすることができます。

curl -I $manifest_file_URL 
+0

それは正しく全体のプロセスを行い、マニフェストが更新されます(またはイベントがトリガされません)エラーがない、どちらもありませんそれは、アプリケーションが変更されたことを検出したためにキャッチされていません。問題は、一部のファイルが更新され、他のファイル(主にjsとcss)は更新されないということです。 – Unapedra

関連する問題