ブラウザのキャッシュをクリアするためのレーキタスクなどを作成したいと思います。問題は、Flashアプリを実行していることです。データを変更した場合、ブラウザのキャッシュをリセットして古いswfを削除し、新しいxmlデータを表示できるようにする必要がほとんどあります。
ルビーでブラウザのキャッシュをリセットするにはどうすればよいですか?または、さらに正確に言うと、ブラウザのキャッシュから選択したアイテムのみを削除するにはどうすればよいですか?
助けてくれてありがとう!
ブラウザのキャッシュをクリアするためのレーキタスクなどを作成したいと思います。問題は、Flashアプリを実行していることです。データを変更した場合、ブラウザのキャッシュをリセットして古いswfを削除し、新しいxmlデータを表示できるようにする必要がほとんどあります。
ルビーでブラウザのキャッシュをリセットするにはどうすればよいですか?または、さらに正確に言うと、ブラウザのキャッシュから選択したアイテムのみを削除するにはどうすればよいですか?
助けてくれてありがとう!
私はいくつかの可能な解決策を見ます:
xmlデータをどのようにロードするかはわかりませんが、過去に、xmlファイルのパスに乱数を追加することで問題を回避しました。
xml.load("data.xml?"+Math.random());
基本的に、Flashは常にファイルが別のURLであると見なします。キャッシュ内で一致するものを見つけることができなくなります。
繰り返しになりますが、XMLデータをどのようにロードしているかわからないため、これがあなたの状況に当てはまるかどうかはわかりません。
しかし、それがお役に立てば幸いです。
サーバーやクライアントだけでなく、サーバーからクライアントへの応答の途中で応答が通過する任意の数のノードでもキャッシュが発生する可能性があるため、場合によっては十分ではない場合でも、ブラウザのキャッシュをリセットすることはできません。 。
自由に使える唯一のツールは、キャッシュヘッダーです。
それらをNoCacheに設定できますが、毎回サーバーにヒットすることを覚えておいてください。
Safariを使用しているので、AppleScriptを使用してキャッシュをクリアする方法を説明する記事があります。ただし、AppleScriptの部分をスキップして、rakeタスクでファイルを直接削除することもできます。唯一の落とし穴は、ブラウザを再起動して有効にする必要があることかもしれませんが、それはプロセスを強制終了して「/Applications/Safari.appを開く」ことで実行できます( Mac; Windowsでは、start "c:\ program files \ Safari ..."のようになります)。