IEでFLASHだけをリロードする方法はあるか

このQ&Aのポイント
  • IEで画面移動させずにFLASHだけをリロードする方法があるかどうかについてお尋ねします。
  • 作成したサイトの下部に設置されているFLASHを再読込みするために、更新ボタンを設置しましたが、IE8では画面がページトップに飛んでしまい、FLASHのリロードが見られなくなってしまいます。
  • IEでも少し長目のページ下の同じ位置でFLASHだけを簡単にリロードできる方法があれば、教えてください。
回答を見る
  • ベストアンサー

IEで 画面移動させず FLASH だけ リロードは できますか?

IEで 画面移動させず FLASH だけ リロードは できますか? こんにちは お尋ね致します。 作成したサイトの、少し長目のページの下の方に、 FLASH を 設置してありまして FLASH だけを 再度、見てもらうために、 少し調べて、再読込み(リロード)のために、 下記フォームを使った(更新ボタン)を設置致しました。 <form> <input type="button" value="もう一度 見る" onclick="window.location.reload();"> </form> これを使って試めしたところ、 Chrome や Firefox などの ブラウザは、 少し長目ページの、下の方の、同じ場所で、 画面移動もせずに、FLASH だけが リロードができるのですが、 IE8 では、上記を使うと、画面自体がページトップに飛んでしまい 肝心のページ下の FLASH の リロードが、見られない様になってしまいます。 お尋ねは、IE であっても、少し長目ページ下の、そのままの位置で、 そこそこ簡単に、FLASH だけの リロードを、行える方法があるか・・・ どうかです。 何か良い解決方法がありましたら よろしくお願い致します。    

  • HTML
  • 回答数4
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.4

#1です。 >何分にも知識がないもので、上記の意味は、 >わからないのですが、Java の事でしょうか? javascriptのことです。 ご提示のformのサンプルがjavascriptを利用しているので、その延長で使ってもよいのならという仮定でお答えいたしました。 しかしながら、実験してみたところ(IE6)では<embed>要素だとelementの入れ替えがうまくいかないみたいだし、srcを上書きしてもダメみたいですね。(FFだとどちらの方法でもうまくいきますが) しかたがないので、<div>で囲っておいて、中身をテキストで上書きする方法になってしまいました。(一瞬だけ画面がフリックするかも知れません) (FF3.5、Opera10、IE6で確認) 一番下のreplayボタンをクリックすると、再生するはず。 (サンプルのflashは某Q&Aサイトにあるサンプルへリンクさせていますが、他意はありません。おまけに、replayボタンなんて不要なサンプルだけど…) <html> <head><title>test</title></head> <body> <div style="height:600px;">aa</div><hr> <div id="flash"> <embed src="ttp://hfm-kenchan.com/Lesson/lesson_sample0.swf" quality="high" bgcolor="#000000" width="450" height="250" type="application/x-shockwave-flash" pluginspage="ttp://ww.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"> </embed> </div> <hr> <input type="button" value="replay" onclick="var e = document.getElementById('flash');e.innerHTML = e.innerHTML;"> </body> </html> 注)URLが自動リンクに変換されてしまうので、ttp:→http:、ww→wwwに入れ替えてください。(全部で3箇所)

Godin777
質問者

お礼

HTMLがまだ少しわかったくらいのレべルで、 <form> <input type="button" value="もう一度 見る" onclick="window.location.reload();"> </form> の程度なら、わかりましたので、使ってみたのですが、 教えて頂いたのを、貼り付けて、IEで試したら 画面が固定したまま、リプレイしてるので、感動しました! IE6でも可能なら、完全ですね。 有難うございます。 私の知識では、少し時間がかかるかもしれませんが、 自分のサイトにあてはめて、とりあえず試してみます。 有難うございました。

その他の回答 (3)

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.3

正直、もっと 他にスマートな方法があると思いつつ、 ごり押しで ご希望通りに動きそうなものを 作ってみました。 同一ページ内ではリロードせずに、移動するだけだったようですので、 URLにローカルタイムを入れ、ブラウザを だましております。 <a name=point>*</a> <hr> <embed src="flash.swf" type="application/x-shockwave-flash" width="550" height="400" bgcolor="#ffffff" pluginspage="http://www.adobe.com/go/getflashplayer_jp" /> <hr> <script type="text/javascript"> today = new Date(); document.write("<a href=?"); document.write(today.getTime()); document.write("#point>もう一度 見る</a>"); </script>

Godin777
質問者

お礼

お忙しいのに、何回も考えて頂き有難うございました。 リロードだけなら、先の数行のものでいけたのですが、 やはり、それでは済まなかったのですね。 いろいろと大変参考になりました。 一度、試させて頂きます。

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.2

他の人が書いてある通り、FLASHの中にボタンを設置して、 ActionScriptをちょこっと書くぐらいのものだと思いますが、 多分、HTMLでやろうとしているところを見ると、FLASH自体はいじれないという感じでしょうか? ただ、思いついただけで 検証はしていないので ご了承ください。 あと、「画面移動をせずに」というのを、画面遷移の事ではなく、 「ページの中でFLASHを表示している辺りを表示したまま」と解釈しました。 FLASHを表示しているHTMLの上ぐらいに、以下を書いて、 <a name=point> FLASHの下に、 <a href="#point">もう一度 見る</a> で、いかがでしょう?

Godin777
質問者

お礼

下記にも書かせて頂きましたが、 FLASH 本体から、例えば、2~3?以上 離れた場所で リプレイボタンが作れたら・・・ というのがお尋ねしたイメージでした。 IEでも(F5)キーを押したならば、思った事ができそうですので この機能をイメージしておりました。 >「画面移動をせずに」というのを、画面遷移の事ではなく、 >「ページの中でFLASHを表示している辺りを表示したまま」と解釈しました 説明がいまひとつ下手でしたが、おっしゃる通りです。 <a href="#●●●">もう一度 見る</a> は、試してみたのですが、 場所を移動するだけでした。 自分でももう少し、いろいろ考えてみたいと思います。 有難うございました。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

scriptを使ってよいのなら、 DOMでその部分だけ書き直してあげれば、可能ではないでしょうか?(未検証です) アドレスを再定義するだけでもいけそうな気がしますが…(同じく未検証) でも、わざわざリロードしなくても、flashのほうに「replay」ボタンみたいなものを設けておくのが普通のような気がしますけれど?

Godin777
質問者

お礼

早速に回答有難うございました。 >scriptを使ってよいのなら、 >DOMでその部分だけ書き直してあげれば、 >可能ではないでしょうか?(未検証です) >アドレスを再定義するだけでもいけそうな気がしますが… >(同じく未検証) 何分にも知識がないもので、上記の意味は、 わからないのですが、Java の事でしょうか? IE8でも、いわゆる (F5)キーを押した場合ならば、 希望の事ができそうなのですが、 この機能が実現できないものか・・・ と思った次第です。 >でも、わざわざリロードしなくても、 >flashのほうに「replay」ボタンみたいなものを >設けておくのが普通のような気がしますけれど? 上記(F5)キーの事が頭にありましたので、 この方法には、気がつきませんでした。 FLASH の 中でなくて、FLASH から 2~3?離れたようなところで、 リプレイボタンが設置できれば、結果として希望と同じものですので このやり方がわかれば、それでも有難いのですが、 現時点では同じく、私の知識不足です。

関連するQ&A

  • リロード

    すいません。私JavaScriptはまったくの素人です。 あるページを5分ごとにリロードさせたくて、 <script language="JavaScript"> <!-- function reload_me() { document.location.reload(); setTimeout("reload_me()",300000); } //--> </script> <BODY onLoad="reload_me()"> と書いたところ、ロードしてくると同時に次のロードが始まってしまい、 300000という時間が全くきいてないような感じです。 (間髪を入れず無限にリロードが続いている状態) <body>のonLoadに書いてはいけないのでしょうか? それとも書き方がよくないのでしょうか? よろしくお願いします。

  • 1回だけリロードしたい

    開いたときに1度だけリロードさせたいのですが、たのページを参考に <script language="javascript"> <!-- if ( location.search.indexOf("1") == -1 ) { setTimeout("_reload()",1000); } function _reload() { location.href = location.href + "?1"; } //--> </script> を入れてみたのですが、リロードはされるものの、いわゆるブラウザの「更新」ボタンとは違うらしく、POSTで送られてきたデータを破棄した状態でリロードされるため、データの取得ができず困っています。 データを保持したままのリロード、つまりブラウザの「更新」ボタンのようなリロードを1度だけさせるにはどうしたらよいか教えてください。

  • ページを一回だけリロードさせる方法

    こんにちは いつもお世話になっています 表題の通りページを読み込んだ後にすぐ 一回だけリロードさせたいのですが どのような方法があるでしょうか? location.reload(); だと永遠にリロードしてしまいます・・・

  • JavaScriptでのリロードについて

    ネットで調べていましたが解決する事ができませんでしたので投稿しました。 宜しくお願いします。 ページ間の制御について質問します。 Aページから別ウィンドウを開いてBページを表示しています。 Bページではデータの入力画面→確認画面→完了画面の流れで処理をしています。 Bページの完了画面には別ウィンドウでCページを表示するボタンがあります。 ※Cページを表示する際にBページを閉じています。 Cページではファイルのアップロード画面→確認画面→完了画面の流れで処理をしています。 Cページの完了画面にはCページを閉じてAページをリロードしていますがうまく更新できません。 JavaScriptのソースは下記の通りです。 if(!window.opener || window.opener.closed){ } else{  window.opener.location.reload(); } window.close(); ※このJavaScriptはCページのボタンのonClickに指定しています。 試しに単体で下記のJavaScriptのソースを指定してみましたが駄目でした。 window.opener.opener.location.reload(); どのようにすればCページを閉じてAページをリロードする事ができますか。 似たような内容で申し訳ありませんがご教授、宜しくお願いします。 では、失礼します。

  • ページの参照の仕方について

    おなじフォルダにframe.html, menu.html, index.htmlをおき、 frame.htmlの左にmenu.html, 右にindex.htmlを表示させています。 menu.html上の下記のボタンでindex.htmlをリロードしたいのですが、うまくいきません。 <input type="button" value="右ページを再読込" onclick="javascript:window.top.['index'].location.reload()" style="WIDTH: 120px; HEIGHT: 20px"> どこが間違っていますでしょうか? javascriptもhtmlも初心者です。よろしくお願いします。

  • ブラウザの「戻る」ボタンを押した時にリロードさせる

    ブラウザの「戻る」ボタンを押して前のページに戻った時に1回だけページを リロードさせたいのですが、IEでは下記のようにすれば上手く出来ました。 <script type="text/javascript"> <!-- window.onunload = function(){location.reload();} --> </script> しかしながら、上記では他のブラウザ(Firefox・Opera・Safai・Google Chrome等)では リロードされません。 全てのブラウザで上手くリロードさせる方法はないでしょうか。 宜しくお願い致します。

  • JavaScriptが表示されません

    JavaScriptの練習をしています。 階層型メニューの表示ができるようになりたいのですが、今のところは基礎からと思い、単純なところから初めて・・・みようとしたのですが どしょっぱつから、ひっかかりました ◆例1 <script language="JavaScript"> <!-- document.write(こんにちは); //--> </script> ◇結果 IE画面上に、なにも表示されません ※以前、全く同じ構文で試したときには こんにちは が表示されました。 ※環境は同じで、変わっていません ◆例2 <form> <input type="button" value="戻る" onclick="history.back()"> <input type="button" value="更新" onclick="location.reload()"> <input type="button" value="進む" onclick="history.forward()"> <input type="button" value="トップページへ" onclick="location.href='http://www.red.oit-net.jp/tatsuya/index.htm'"> </form> ◇結果 これは、表示されました。 何回試しても、ちゃんと表示されます +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ いったい何が問題なのでしょうか?

  • formボタンにAction属性を入れる

    formボタンにAction属性を入れるにはどうすればよろしいでしょうか(更新ボタン) <form> <input type=button value="  更新  " onclick="location.reload()"> </form>

  • <a href="#pagetop">以外での移動方法

    <a href="#pagetop">ページトップ</a>以外での、同一ページ内の移動方法を教えてください。 ページの先頭に、 <a name="pagetop"></a> を置いておいて、ページの下のほうに、 <FORM> <INPUT TYPE=button value="ページトップ" onclick="JavaScript:location.hash='#pagetop'"> </FORM> これで、移動できるのですが、これですとボタンになってしまいます。 普通のテキスト、もしくは画像にしたいのですが、どのようにしたら良いでしょうか? よろしくお願いします。

  • JavaScriptでページを一度だけリロード

    とあるページにアクセスした際、JavaScript(jQuery)を使って一度だけページをリロードしたいと思っております。 <script language="JavaScript"><!-- function reload() { if (window.name != "test") { location.reload(); window.name = "test"; } } // --></script> 上記のような記述で試みたのですが、リロードしてくれません。 他に対応できる方法がございましたら、ご教授いただけますと幸いです。 以上、よろしくお願い致します。

専門家に質問してみよう