2011-11-15 10 views
1

新しいコンテンツを自分のFlashページに公開するたびに、以前の(古いコンテンツの)ページを開いたコンピュータは、履歴が削除されるまで、または古いページSHIFT +リロードでリフレッシュされます。キャッシュ方法をフラッシュページで使用する

これは起こらないようにIページを構築するにはどうすればよいですか?

ありがとうございます。

salu2

答えて

4

ファイルがユーザーのキャッシュから取得されないようにする方法はいくつかあります。有効期限を設定することでPHから行うことができますが、ActionScriptからも行うことができます。

最も簡単な方法は、ファイル「?」の後ろにURLを追加することです。マークは、例えば取得する:

http://path.to.my.file/file.swf?cacheBuster=123092183120 

それはそれはキャッシュからファイルを取得することはできませんので、URLが異なっていることを確認します。 最良の方法は、現在の日付スタンプを取得することです。 また、サイトのバージョン番号を指定し、新しいファイルをアップロードしたときに更新し、URLにバージョン番号を追加することもできます。

これにより、サイトを更新するときにサーバーからファイルが読み込まれるようにすることができますが、ユーザーがページを再度入力しても、ファイルがキャッシュから読み込まれる変更はありません。

http://path.to.my.file/file.swf?version=1.1.0 

これは私のプロジェクトで使用したコードです:

var _url:String = "http://some.url/file.swf"; 
var vstring:String = (_url.indexOf("?") != -1) ? "&version=" + _version : "?version=" + _version; 
_url = _url + vstring; 
2

あなたは、いくつかのサーバーサイドスクリプトを使用して、HTMLページにキャッシュ制御ヘッダを追加することができます。ここではPHPの例です:

<?php 
    header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 
    header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
?> 

過去の日付を設定することであなたは、彼らが最後にキャッシュされたため、ファイルが変更されているかどうかを確認するために、ブラウザ/プロキシのキャッシュを強制します。

関連する問題