• 締切済み

キャッシュを完全に消すHTML入れたのですが、・・

私はフラッシュを作成している者です。 フラッシュをまめに修正してネットにアップしているのですが、なぜか最初にアップしたままという現象が続きました。 いろいろ調べたところキャッシュされていてそれが読み込まれている状態と気づきました。 これを解消すべく、キャッシュを完全に残さずに表示させる勉強を始めました。 下記のようなソースコードを入れることによってキャッシュされにくいという情報を入手したので入れたのですが、反応がありませんでした。 どうかキャッシュを読み込まないようにする方法を教えていただけないでしょうか? お願いします。(土下座) <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">

  • aeic
  • お礼率10% (60/582)
  • HTML
  • 回答数3
  • ありがとう数1

みんなの回答

  • duckling
  • ベストアンサー率47% (88/185)
回答No.3

<script language="JavaScript"><!-- number = Math.floor(Math.random() * 10000); document.write('<embed src="test.swf?'+ number +'">'); </script> 当然ですが、↑これを書くだけではFlashは正常には読み込まれません。 上に書いてあるものは 「こういう風に書いたらいいんですよ~」という、ただのサンプルで、 Flashを読み込むタグの「すべてを」書き込まなければいけないのです。 (<param name=○○~~~~~~> も含めて、すべて) JavaScript の書き方や、Flashタグの書き方、 上の文章の意味を理解していることが条件ですが、 とりあえず解決法は、 「test.swf」  を読み込むのではなく、 「test.swf?ランダムな数字」 を読み込めばいい、ということです。 (ランダムな数字を発生させるために、JavaScriptを使っているだけです。)

  • duckling
  • ベストアンサー率47% (88/185)
回答No.2

JavaScript を使ってFlashをはめ込むためのタグを書き出す、 という方法があります。 <script language="JavaScript"><!-- number = Math.floor(Math.random() * 10000); document.write('<embed src="test.swf?'+ number +'">'); </script> HTMLを表示させるたびにJavaScriptがランダムな数値を形成するので ブラウザは、毎回表示させるFlashファイルが違うものであると判断します。 キャッシュはされますが、同じキャッシュは読み込みません。 私の場合、ですが、頻繁に更新する可能性のあるFlashページは こうすることで対処しています。

aeic
質問者

補足

すばらしいアドバイスを頂き本当に感謝しております。 実際に試したのですがうまくいきませんでした。 下記のソースの src="swfファイル名" の個所だけを修正し、フラッシュが表示される部分に埋め込みました。 実際に表示すると画面が真っ白になり何も表示されない状態になります。 ただソースを見てみるとちゃんと書かれているのですが、・・・ どうかアドバイスを頂けないでしょうか? お願いします。 <script language="JavaScript"><!-- number = Math.floor(Math.random() * 10000); document.write('<embed src="test.swf?'+ number +'">'); </script>

  • lmeelm
  • ベストアンサー率52% (18/34)
回答No.1

完全なお答えではなく申し訳ないのですが、私も同じ経験があり、 今までにわかっていることを書いていきますと、タグは、それで合っていると思います。 しかし、それはおそらくFlashを貼っているHTMLをキャッシュしないということで、 貼られているFlashファイルはおそらくキャッシュに保存されているのだろうと思います。 Flashを貼っていらっしゃるのでしたら、おそらくページのソースは大変短いですよね? そのページはキャッシュには残していないけれど、貼られているファイルは保存されているので、 そのようになっているのではないかと思います。 私の場合、通常のGIF画像なのですが、CGIをキャッシュに残さないようにし、 CGIから画像を呼び出すようにして、HTMLに画像を表示させるようにしたところ、 画像をキャッシュされないようにすることができました(ちょっと説明わかりにくいですね)。 中途半端なお答えですみません。わかっているのはこんなところまでです。 また何かわかりましたら書いておいてみます。

aeic
質問者

補足

よいアドバイスを頂き本当にありがとうございます。 CGIから画像を呼び出すというというと具体的にどのような事でしょうか? もし御時間があればソースなどを交えて教えて頂けないでしょうか?お願いします。 贅沢なご質問ですので、厄介だと思われた時点で無視して下さい。

関連するQ&A

  • 動画配信サイトで動画を閲覧するとキャッシュが残りますよね?(サイトによ

    動画配信サイトで動画を閲覧するとキャッシュが残りますよね?(サイトによっては) キャッシュってブラウザやOSの仕様だそうですが、キャッシュが残らないように配信ってできないのでしょうか? <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"> こういうようなタグ(?)を付ければ完全ではないにしろ抑制できますよね? これができれば、プログレッシブダウンロードの仕組みで専用サーバを使うストリーミング配信のようなことが出来るのでは?? 何をとんちんかんなことをいってるんだと思われるかもしれませんが・・・回答よろしくお願いします。

  • ブラウザの戻るができないようにしたい

    ページ内はHTMLファイルですが、そのページのiframe内にperlで動的ページを表示させています。 クリック自体はifream内の動的ページですが、ページのキャッシュが残っているらしく、ブラウザの戻るが有効になります。 戻るができないようにしたいのですが何か良い方法はありますか? 以下、効果はありませんでした。 ファイル1 test.html <html> <head> <title>HTML</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Fri, 31 Dec 2004 23:59:59 GMT"> </head> <body> <ifream src="test.cgi"></ifream> </body> </html> ファイル2 test.cgi print "Content-type: text/html\n"; print "Pragma: no-cache\n"; print "Cache-Control: no-cache\n"; print "Expires: Thu, 01 Dec 1994 16:00:00 GMT\n\n"; print <<EOT; <html> <head> <title>CGI</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Fri, 31 Dec 2004 23:59:59 GMT"> </head> <body> <a href="test.cgi">sample</a> </body> </html> EOT exit;

    • ベストアンサー
    • Perl
  • 3日に1回リロードさせたい

    ページの情報を更新したときに、ブラウザのキャッシュの影響でページが更新されないことがあります。 cssが読み込まれていなかったり、htmlの変更が反映されていなかったり、 そのときはF5でリロードさせることで更新を反映させています。 ユーザーが自分でリロードを実行することなく、 自動的に更新させる方法を探しました。 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="-1"> この方法だとキャッシュを削除することができ、 複数のブラウザにも対応できるそうですが、 キャッシュを毎回削除してしまうと ページを開く度に重くなってしまいます。 3日に1回、更新させる、ということはできませんか? <meta http-equiv="expires" content="Sat, 15 Nov 2012 12:00:00 GMT"> を <meta http-equiv="expires" content="Sat, 18 Nov 2012 12:00:00 GMT"> <meta http-equiv="expires" content="Sat, 21 Nov 2012 12:00:00 GMT"> のように3日ごとに更新するしかないのでしょうか。

  • アップレットをキャッシュしないようにしたい

    現在、アプレットを開発中ですが、 アップレットがキャッシュされるため、うまくデバッグできません。 <META http-equiv="Pragma" content="no-cache"> <META http-equiv="Expires" content="-1"> は入れているのですが、どうしたらいいでしょうか? ブラウザをいったん閉じないとだめでしょうか? また、JAVAコンソールにsystem.out.printlnの情報がでてこないのですが、 何か設定が必要でしょうか? よろしくおねがいします。。

    • ベストアンサー
    • Java
  • 画像をキャッシュさせたくない

    CGIで動的に画像を表示するため表示した画像をキャッシュさせたくないのですが、どうすればいいのでしょうか。 他のページなどを参考に <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0"> をヘッダーに入れてみましたし、リダイレクトしたURLの後ろに無意味なランダム数字を入れても見ましたが、やはりキャッシュされています。 たとえキャッシュされていても無視して読み込むようなヘッダーとか何か確実に新たに読み込む方法はないでしょうか。

    • ベストアンサー
    • HTML
  • キャッシュの制御がうまくいきません

    毎回お世話になっております。 現在、Perlを用いてWebページを作成しておりますが、キャッシュの制御に困っております。 キャッシュを制御したいhtmlページのHEAD部分には ******************************************************* <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" content="no-cache"> <META HTTP-EQUIV="Expires" content="Mon, 1 Jan 1990 01:01:01 GMT"> ******************************************************* 上記のMETAタグを入れているのですが、次の画面へ行き「戻る」ボタンを押すと戻ってしまうのです・・・ Perl内に、 print "Cotent-Type: text/html; Pragma: nocahe\n\n"; を記述してもだめでした。 「教えて!goo」の中で次の画面に進むときに「replace()」で飛ばすと戻らない回答があったのですが、次の画面に行くときにPOSTでデータを受け渡さないといけないので、「このMethodはGETです」とエラーが表示されてしまいます。 様々なHPで検索して試してみたのですが、どれもだめでした・・・ なにかよい回答がありましたらよろしくおねがいいたします。

    • ベストアンサー
    • CGI
  • IEでブラウザにキャッシュをさせないようにするには?

    更新頻度の多いホームページを公開したいのですが、IEだとブラウザがキャッシュをしてしまって、常に最新の情報を表示させることができません。 <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META EQUIV="Expires" CONTENT="-1"> これをやっても効かないのです。。 IEのホームページを見ると、IEではこのタグは無視されます、と書いてありました。。 YAHOO!などのポータルサイトは更新されるわけですから、方法はあるのだと 思うのですが、具体的にはどういった方法があるのでしょうか?

  • キャッシュの制御

    HTMLページにアクセスした際に、ローカルにキャッシュを作成しないよう制御したいのです。 Webで色々と調べて、 <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"> を追加しましたが、ページ表示時にIEのTempフォルダ 「C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files」 にファイルが作成されます。 実際に実現したいことというのが、 1.通常OWS(OracleWebServer)でシステム動作 ↓ 2.データメンテナンス時にOWS停止 ↓ 3.IISを起動し、データメンテナンス中である旨、ページを表示 ↓ 4.データメンテナンス完了後、IIS停止、OWS起動 ↓ 5.通常のシステム画面を表示 を実現したいのですが、3の時点でキャッシュ無効のHTMLページを表示してもキャッシュが作成され、4→5の時にメンテナンス中の画面が表示されたままになり、リロードしても回避されない(キャッシュを消さないと通常のシステム画面が表示されない)状態なのです。 環境は OS:WindowsNT Server 4.0 OWS:Oracle WebServer2.1 IIS:InternetInformationServer4.0 です。 マニアックな質問で申し訳ないのですが、ご回答頂けますよう宜しくお願い致します。

  • HTMLの画像自動更新について

    現在、 <meta http-equiv="Refresh" content="5">で自動更新をしているのですが、 毎回同じ画像が表示されてしまいます。 F5を押すと画像は更新されます。 キャッシュに問題があるのではと調べて下記のように書きました。 <HTML> <HEAD> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> <meta equiv="Expires" content="-1"> <meta http-equiv="Refresh" content="5;URL=index_i_i.html"> URLの「index_i_i.html」は同じHTMLファイル(名前は変えて)を用意して交互に飛ぶように設定しました。 ですが、上記の記述でも同じ画像が表示されます。 F5では更新されるのですが、F5と同じ更新をHTML内に記述するにはどうしたらよろしいのでしょうか? できれば、CGIやスクリプトは使いたくないのですが、使わなくてはいけないのであれば、教えてください。 お願いします。

    • ベストアンサー
    • HTML
  • キャッシュ問題

    php,mysqlを使用した動的サイトなのですがdbの内容を更新してページでリロードしても情報が全く変わりません。 おおまかな流れではありますがアクセスの度にdbに接続しselectでデータを取得しています。 ブラウザから一時保存ファイルを消去してリロードしてやっとdbの内容が反映される状況です。 原因は明らかにキャッシュかと思うのですがどうすれば回避することはできますか? htmlには以下のタグを入れているのですが全く効果はないようです・・・ <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache, must-revalidate" /> <meta http-equiv="Expires" content="0" /> htmlの問題かphpの問題か微妙なラインなのですが回避方法としてアドバイス頂けますと幸いです。

    • 締切済み
    • PHP