幼稚園時代「何組」でしたか?

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

こんにちは お尋ね致します。

作成したサイトの、少し長目のページの下の方に、
FLASH を 設置してありまして

FLASH だけを 再度、見てもらうために、
少し調べて、再読込み(リロード)のために、
下記フォームを使った(更新ボタン)を設置致しました。


<form>
<input type="button" value="もう一度 見る" onclick="window.location.reload();">
</form>


これを使って試めしたところ、
Chrome や Firefox などの ブラウザは、

少し長目ページの、下の方の、同じ場所で、
画面移動もせずに、FLASH だけが リロードができるのですが、

IE8 では、上記を使うと、画面自体がページトップに飛んでしまい
肝心のページ下の FLASH の リロードが、見られない様になってしまいます。

お尋ねは、IE であっても、少し長目ページ下の、そのままの位置で、
そこそこ簡単に、FLASH だけの リロードを、行える方法があるか・・・ どうかです。

何か良い解決方法がありましたら
よろしくお願い致します。
 
 

A 回答 (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箇所)
    • good
    • 0
この回答へのお礼

HTMLがまだ少しわかったくらいのレべルで、

<form>
<input type="button" value="もう一度 見る" onclick="window.location.reload();">
</form>

の程度なら、わかりましたので、使ってみたのですが、


教えて頂いたのを、貼り付けて、IEで試したら
画面が固定したまま、リプレイしてるので、感動しました!
IE6でも可能なら、完全ですね。
有難うございます。

私の知識では、少し時間がかかるかもしれませんが、
自分のサイトにあてはめて、とりあえず試してみます。
有難うございました。

お礼日時:2010/01/21 22:53

正直、もっと 他にスマートな方法があると思いつつ、


ごり押しで ご希望通りに動きそうなものを 作ってみました。

同一ページ内ではリロードせずに、移動するだけだったようですので、
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>
    • good
    • 0
この回答へのお礼

お忙しいのに、何回も考えて頂き有難うございました。

リロードだけなら、先の数行のものでいけたのですが、

やはり、それでは済まなかったのですね。
いろいろと大変参考になりました。

一度、試させて頂きます。

お礼日時:2010/01/21 22:35

他の人が書いてある通り、FLASHの中にボタンを設置して、


ActionScriptをちょこっと書くぐらいのものだと思いますが、
多分、HTMLでやろうとしているところを見ると、FLASH自体はいじれないという感じでしょうか?

ただ、思いついただけで 検証はしていないので ご了承ください。

あと、「画面移動をせずに」というのを、画面遷移の事ではなく、
「ページの中でFLASHを表示している辺りを表示したまま」と解釈しました。

FLASHを表示しているHTMLの上ぐらいに、以下を書いて、

<a name=point>

FLASHの下に、

<a href="#point">もう一度 見る</a>

で、いかがでしょう?
    • good
    • 0
この回答へのお礼

下記にも書かせて頂きましたが、
FLASH 本体から、例えば、2~3?以上 離れた場所で
リプレイボタンが作れたら・・・ というのがお尋ねしたイメージでした。

IEでも(F5)キーを押したならば、思った事ができそうですので
この機能をイメージしておりました。

>「画面移動をせずに」というのを、画面遷移の事ではなく、
>「ページの中でFLASHを表示している辺りを表示したまま」と解釈しました

説明がいまひとつ下手でしたが、おっしゃる通りです。

<a href="#●●●">もう一度 見る</a> は、試してみたのですが、
場所を移動するだけでした。

自分でももう少し、いろいろ考えてみたいと思います。

有難うございました。

お礼日時:2010/01/21 18:55

scriptを使ってよいのなら、


DOMでその部分だけ書き直してあげれば、可能ではないでしょうか?(未検証です)
アドレスを再定義するだけでもいけそうな気がしますが…(同じく未検証)


でも、わざわざリロードしなくても、flashのほうに「replay」ボタンみたいなものを設けておくのが普通のような気がしますけれど?
    • good
    • 0
この回答へのお礼

早速に回答有難うございました。

>scriptを使ってよいのなら、
>DOMでその部分だけ書き直してあげれば、
>可能ではないでしょうか?(未検証です)

>アドレスを再定義するだけでもいけそうな気がしますが…
>(同じく未検証)


何分にも知識がないもので、上記の意味は、
わからないのですが、Java の事でしょうか?

IE8でも、いわゆる (F5)キーを押した場合ならば、
希望の事ができそうなのですが、
この機能が実現できないものか・・・ と思った次第です。


>でも、わざわざリロードしなくても、
>flashのほうに「replay」ボタンみたいなものを
>設けておくのが普通のような気がしますけれど?

上記(F5)キーの事が頭にありましたので、
この方法には、気がつきませんでした。

FLASH の 中でなくて、FLASH から 2~3?離れたようなところで、
リプレイボタンが設置できれば、結果として希望と同じものですので
このやり方がわかれば、それでも有難いのですが、
現時点では同じく、私の知識不足です。

お礼日時:2010/01/21 18:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報