- ベストアンサー
IEでFLASHだけをリロードする方法はあるか
- IEで画面移動させずにFLASHだけをリロードする方法があるかどうかについてお尋ねします。
- 作成したサイトの下部に設置されているFLASHを再読込みするために、更新ボタンを設置しましたが、IE8では画面がページトップに飛んでしまい、FLASHのリロードが見られなくなってしまいます。
- IEでも少し長目のページ下の同じ位置でFLASHだけを簡単にリロードできる方法があれば、教えてください。
- みんなの回答 (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箇所)
その他の回答 (3)
- bm_hiro
- ベストアンサー率51% (200/388)
正直、もっと 他にスマートな方法があると思いつつ、 ごり押しで ご希望通りに動きそうなものを 作ってみました。 同一ページ内ではリロードせずに、移動するだけだったようですので、 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>
お礼
お忙しいのに、何回も考えて頂き有難うございました。 リロードだけなら、先の数行のものでいけたのですが、 やはり、それでは済まなかったのですね。 いろいろと大変参考になりました。 一度、試させて頂きます。
- bm_hiro
- ベストアンサー率51% (200/388)
他の人が書いてある通り、FLASHの中にボタンを設置して、 ActionScriptをちょこっと書くぐらいのものだと思いますが、 多分、HTMLでやろうとしているところを見ると、FLASH自体はいじれないという感じでしょうか? ただ、思いついただけで 検証はしていないので ご了承ください。 あと、「画面移動をせずに」というのを、画面遷移の事ではなく、 「ページの中でFLASHを表示している辺りを表示したまま」と解釈しました。 FLASHを表示しているHTMLの上ぐらいに、以下を書いて、 <a name=point> FLASHの下に、 <a href="#point">もう一度 見る</a> で、いかがでしょう?
お礼
下記にも書かせて頂きましたが、 FLASH 本体から、例えば、2~3?以上 離れた場所で リプレイボタンが作れたら・・・ というのがお尋ねしたイメージでした。 IEでも(F5)キーを押したならば、思った事ができそうですので この機能をイメージしておりました。 >「画面移動をせずに」というのを、画面遷移の事ではなく、 >「ページの中でFLASHを表示している辺りを表示したまま」と解釈しました 説明がいまひとつ下手でしたが、おっしゃる通りです。 <a href="#●●●">もう一度 見る</a> は、試してみたのですが、 場所を移動するだけでした。 自分でももう少し、いろいろ考えてみたいと思います。 有難うございました。
- fujillin
- ベストアンサー率61% (1594/2576)
scriptを使ってよいのなら、 DOMでその部分だけ書き直してあげれば、可能ではないでしょうか?(未検証です) アドレスを再定義するだけでもいけそうな気がしますが…(同じく未検証) でも、わざわざリロードしなくても、flashのほうに「replay」ボタンみたいなものを設けておくのが普通のような気がしますけれど?
お礼
早速に回答有難うございました。 >scriptを使ってよいのなら、 >DOMでその部分だけ書き直してあげれば、 >可能ではないでしょうか?(未検証です) >アドレスを再定義するだけでもいけそうな気がしますが… >(同じく未検証) 何分にも知識がないもので、上記の意味は、 わからないのですが、Java の事でしょうか? IE8でも、いわゆる (F5)キーを押した場合ならば、 希望の事ができそうなのですが、 この機能が実現できないものか・・・ と思った次第です。 >でも、わざわざリロードしなくても、 >flashのほうに「replay」ボタンみたいなものを >設けておくのが普通のような気がしますけれど? 上記(F5)キーの事が頭にありましたので、 この方法には、気がつきませんでした。 FLASH の 中でなくて、FLASH から 2~3?離れたようなところで、 リプレイボタンが設置できれば、結果として希望と同じものですので このやり方がわかれば、それでも有難いのですが、 現時点では同じく、私の知識不足です。
お礼
HTMLがまだ少しわかったくらいのレべルで、 <form> <input type="button" value="もう一度 見る" onclick="window.location.reload();"> </form> の程度なら、わかりましたので、使ってみたのですが、 教えて頂いたのを、貼り付けて、IEで試したら 画面が固定したまま、リプレイしてるので、感動しました! IE6でも可能なら、完全ですね。 有難うございます。 私の知識では、少し時間がかかるかもしれませんが、 自分のサイトにあてはめて、とりあえず試してみます。 有難うございました。