同じサイズのフラッシュ画像(example_02.swf)に置き換えました。
サーバーへアップロード後に、
Firefox(3.0.11)で、該当ファイルを開いてみたのですが、
古い画像(example.swf)が表示されてしまい、入れ替えたはずの画像(example_02.swf)が表示されません。
再読み込み、更新しても画像は古いままです。
このサイトを過去に訪れた人は、再度サイトを訪れた時に、同じ現象が起こっている可能性があると思うのですが、
ブラウザの設定を変える方法ではなく、サイト管理者側でこういった現象を防ぐことは
できないものでしょうか?(htmlにコードを加えるなどして、ブラウザに指示を出す?)
知人にはフラッシュファイルだけでなく、jpgファイルでも同様の現象が
起こっていると指摘されました。
コードは正しく書き換えてあるとして、
キャッシュが表示されちゃってるんですかね。
Ctrl+F5で完全なリロードをしてみてください。
あとはサーバ側でキャッシュデータの有効期限を短くするとか。
SWFコンテンツについてはクライアント側のキャッシュ内容が優先され、新規ファイルがブラウザ上に反映するまで少し時間がかかります。
Firefoxメニュー→「ツール」→「オプション」→「詳細」他部を選択し、ページキャッシュを「今すぐ消去」することで、SWFコンテンツを含めて更新できる場合があります。
このような場合、サーバ側ではHTMLの冒頭に下記のように記述することで、クライアント側でのキャッシュをさせないことが考えられます。
<meta http-equiv="Cache-Control" content="no-cache">
しかしながら、この meta タグは XHTML で非推奨となっているうえ、クライアント側でいちいちロードすることになるので、応答速度が低下し、サーバ負荷も増えることになり、あまりお勧めはできません。
頻繁に更新するコンテンツについては、Flash にしない方が良いと思います。
いつもご回答ありがとうございます。
非推奨となっているのでね。困りました。
HTMLに記載する場合は、
<head>~</head>の間に
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT">
を記載する。
(※とほほのweb入門より http://www.tohoho-web.com/how2/tec1.htm#no-cashe)
.htaccessファイルが設定できる場合は、下記を設定する。
<Files ~ "\.(html|php|jpe?g|gif|png)$">
Header set Pragma no-cache
Header set Cache-Control no-cache
</Files>
考えられる点としてhtmlファイルの更新忘れかもしれませんし、サーバー側の反映が遅いだけかもしれません。
とりあえずheadタグ内に以下のタグを入れるといいかもしれません。(すべてのブラウザが対応している訳ではないが。
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT">
みたいにしてやることでキャッシュされなくなるみたいです。
ご回答ありがとうございます。
“サーバー側でキャッシュデータの有効期限を短くする”とございましたが、
具体的に、どのようにするのでしょうか?
簡単にでも教えていただけると助かります。
どうぞよろしくお願いします。