2011-07-08 21 views
2

私は私のRailsアプリケーションでの.swf、ここにありますがあります。手動の.swfキャッシュを扱うには?

/public/bin/editor/Editor.swf

それは1つの欠陥、それは、多くの場合、キャッシュされますと、正常に動作しますので、我々は離すと新しいバージョンでは、通常、顧客に問題が発生したときにキャッシュをクリアするように指示する必要があります。私の質問は、新しいバージョンをリリースしたときに.swfがキャッシュを解除するにはどうすればいいのですか?ような何か:

/public/bin/editor/Editor.swf?timestamp=124158512132

は、私は上記を試してみましたが、動作していないようでした。どんなアイデアも素晴らしいだろう!

+0

どのようにあなたのswfファイルをロードしている? –

+0

JavaScriptを使用して(スペックifically SWFObject) – andrewpthorp

+0

私は、それをロードするコードを表示することを意味します。 –

答えて

1

あなたがswfobject.jsを使用して、アイテムを使用すると、SWFの記述に、これを追加する必要がキャッシュされていないたい場合:

swfobject.embedSWF( 'index.swf?' +新しいです日付(もちろん)。getTime() ...

あなたが好きなフォーマットにgetTime()を変更することができます。

+0

これは毎回キャッシュを強制的に中断させます。私が探しているのは、細かくキャッシングを強制/中断する方法です。 – andrewpthorp

+0

私はあなたがあなたが好きなフォーマットを置くことができると言ったように。ミリ秒ではない、そこに2011年7月14日を置くので、それは毎日変更されるか、そこに2011-07を置くので、または、しばらくしてから変更される別のタイムスタンプ。 'new Date()。getTime()/ YOUR OWN MILISECONDS' –

+2

動的にページを提供する場合は、ビルド/パブリッシュプロセスの一部として収穫されたリビジョン番号を使用することができます。それを動的に提供しないと、そのプロセスはあなたのHTMLページにレブ番号を焼くことができます。 –

0

エディタにバージョン管理の用語を使用することを検討してください。例Editor_v1.01.005.swf

のためにここにこれを行うための多くの利点があります

良いフォーマット

app_major_minor_patch.swfだし、それも偶然のうち、同様にあなたのキャッシュの問題を解決します。 :)

+0

このソリューションは、swf名の変更に応じてswf呼び出し名を変更する動的HTMLを持つ場合にのみ有効です。それ以外の場合は、HTMLを変更する必要があります。 –

+0

はい、確かに展開プロセスの一部である可能性があります。実装ビルド番号を開発者や第三者にとって謎にすることは良いことではありません。 :) – Nate

+0

これはたくさんの手動修理のようです。たとえば、モジュールをロードするEditor.swfがあります。モジュールレベルでもキャッシュできますか? – andrewpthorp

関連する問題