HTMLからJavaScript経由で変数をFlashに渡す方法について

このQ&Aのポイント
  • HTMLからJavaScript経由で変数をFlashに渡す方法を教えてください。
  • HTMLページに表示しているflashに変数を渡す方法を説明します。
  • JavaScriptを使用して、各htmlページの変数をmenu.swfで読み込む方法について教えてください。
回答を見る
  • ベストアンサー

HTMLからJavaScript経由で変数をFlashに渡す方法について

こんにちわ。flashについてお聞きしたいことがあります。HTMLページから、JavaScript経由で、HTMLページに表示しているflashに変数を渡す方法を教えていただきませんでしょうか。 例えば、、、、 ●準備 (1)page1.htmlとpage2.htmlとpage3.htmlを用意します。 ※各htmlファイルは、コンテンツページをイメージします。 (2)各htmlページに、flashで作成したメニュー(menu.swf)を挿入します。 ※すべて同じmenu.swfを使用する。 ●したいこと 各htmlページの頭に、JavaScriptで変数(またはファイル名の読み込み)をセットして、その変数をmenu.swfで読み込み、action Scriptで、各ページごとにflash(menu.swf)の見せ方を制御したい。 以上ですが、説明が下手ですみません。 わかる方がいらっしゃいましたら、ご伝授の程、よろしくお願いいたします。

  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • perse
  • ベストアンサー率74% (113/152)
回答No.1

ページごとに同じswfの見せ方を変えたいのであれば、 引数を渡すという方法があります。 引数はHTML内でFlashのURLを指定してる「***.swf」の後ろに指定します。 ***.swf?hoge=1と指定するとswf内では _root.hogeでこの値(この場合だと1)を取得できます。 HTML内に「***.swf」が2箇所あると思うので同じ引数を指定してください。 一応JavaScriptからFlashに変数を渡す方法は 下記のURLをご覧ください。

参考URL:
http://members9.tsukaeru.net/daina_k/tips/flash/flashtip02.html
RashMan
質問者

お礼

さっそくご連絡をいただき、ありがとうございます。 ***.swf?hoge=1にて、引数を渡せるなんて、びっくりしております。ちなみに二つの引数を渡すには、***.swf?hoge=1&id=1でよろしいのでしょうか?さっそくですが、試してみます。 JavaScriptについては、参考にさせていただきます。 どうもありがとうございました。

関連するQ&A

  • HTMLからFlashへ変数を渡す方法で

    HTMLからFlashへ変数を渡す方法で、HTMLの「***.swf?hoge=10」のようにswfの後に?をつけて書き込む事で、HTMLからFlashへ変数データが渡せると記事で読んだのですが、上手く行きません。 flash側では、ダイナミックテキストを用意しインスタンス名をmTextとし、フレームから if(hoge){ mText.text = hoge; }else{ mText.text = "メッセージはありません"; } と書き、とりあえず、10 と表示させたいのですが、上手く行きません。 何が原因であるのか全く見当がつかずに困っております。 チェックすべき事やアドバイスなどありましたら書き込みをいただきたく思います。 よろしくお願いします。

  • htmlからflashに引数を変数で受け取リ方

    初めてですがよろしくお願いします。 まず異なった最初のページ index1.htmlとindex2.htmlというページから変数をセットして 同じ飛び先、main.htmlにリンクします。 そのmain.htmlのmain.swfで変数を受け取り index1.htmlとindex2.htmlから受け取った変数に応じて アクションを起こしたいのです。 夜分すみません。わかる方がいらっしゃいましたら、ご伝授の程、 よろしくお願いいたします

  • FlashとJavaScriptの連携について。

    HTML内に設置したFlash(SWFファイル)のボタンを押すと、別ウインドウのHTMLページが開く方法について。 現在ホームページを制作していますが、FlashとHTML内のJavaScriptとの連携が上手く出来ないので質問します。 問題のスクリプト・タグを記載します。 -----以下、HTML(index.html)内に記述したJavaScript----- <script type="text/javascript"> function winopen(top.html,1024,768{window.open(top.html,"name","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0" , Width=" + 1024 + ",Height=" + 768); </script> -----ここまで----- -----以下、Flash(SWFファイル)のボタンに対して記述したActionScript----- on (release) { getURL("javascript:winopen("top.html",1024,768);", "_blank"); } -----ここまで----- この状態で、HTM内にobjectタグを用いて設置したFlash(SWFファイル)のボタンが上手く動作してくれません。 希望する動作としては「index.htmlに設置されたFlash(SWFファイル)のボタンを押す」→「別ウインドウ(1024×768のサイズ、各ツールバー等非表示、スクロールバーのみ許可)が立ち上がりtop.htmlが表示される」という流れです。 ※移動先のtop.htmlには、特にJavaScriptの記述はありません。また、top.htmlはHTML内にFlash(SWFファイル)を設置した見た目だけフルFlashのページになります。 ご不足の記述等があれば、すぐに補足追加させて頂きます。 ご回答、宜しくお願い致します。

    • ベストアンサー
    • Flash
  • FlashとHTMLの階層が違うために表示できない(と思われる)。

    複数のswfファイルをランダム表示するために、ひとつのswfファイルをベースにして、そこに以下のようなアクションスクリプトを記述することによって動作させることができました。 //1~3の整数の乱数を,変数 ransuu にセット ransuu = Math.floor(Math.random()*13)+1; //ムービー内に ransuu+".swf" をロード this.loadMovie(ransuu+".swf"); しかし、上記のアクションスクリプトは、ベースとなるswfファイルと、それを設置するHTMLと、ランダム表示させるswfファイル群が全て同じ階層にあるということを前提にして書かれているようです。従って、HTMLをひとつ上の階層に設置し、そこからベースとなるswfファイルを設置しても、表示されません。FlashとHTMLの階層が違う場合には、どのように上記のアクションスクリプトを変更すればよいのかを教えてください。

    • ベストアンサー
    • Flash
  • HTMLからFlashで作成したswfファイルを起動して変数を渡す方法

    HTMLからFlashで作成したswfファイルを起動して変数を渡す方法についてです。 その際、フレームで定義した領域にswfを読み込みたいのですが、その場合、どのようにすれば変数をswfに渡すことができるでしょうか? FlashVars属性をobjectタグやembedタグに追加するようにマニュアルには記載がありますが、フレーム内にswfを読み込む場合の変数の渡し方がわかりません。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • FlashからPHPへの変数の渡し方について

    初めまして。beterugiusと申します。 ご質問したいのですが、 まず、上下2フレームのindex.phpファイルがあります。 FLASHファイル(top_image.fla)は、シングルフレームのjpegイメージ(三枚の画像をPhotoShopで合成して、一枚のイメージにしてある。)です。 その.flaファイルを書き出した、.swfコンテンツ上をマウスが移動 すると、コンテンツ上のどの部分にマウスがあるかで、下フレームのTHMLが切り替わるようにしたいので、top_image.swf から、index.phpに対して、GETメソッドでページ番号の変数自身を 渡したいのですが、実際にFLASHコンテンツ上をマウスで動かしてみると、ブラウザのアドレス欄に、GETメソッドのクエリー文字列の「?」 だけは追加されているのですが、肝心の変数が渡されておらず、 下フレームのHTMLも切り替わりません。 どうすればちゅんと動くのか、どなたかご回答いただけないでしょうか? -------------------------------------------------------------- 「top_image.fla」 var sendObj:LoadVars = new LoadVars(); var page:Number; function onMouseMove(){ var x:Number = top_image._x; // グラフィックの中心座標 var y:Number = top_image._y; if( 0 <= y && y <= 316 ){ if( 0 <= x && x <= 255 ){ page = 1; sendObj.send("../php/index.php", "page", "GET"); } else if( 256 <= x && x <= 512 ){ page = 2; sendObj.send("../php/index.php", "page", "GET"); } else if(513 <= x && x <= 766 ){ page = 3; sendObj.send("../php/index.php", "page", "GET"); } } } -------------------------------------------------------------- 「index.php」 <html> <head><title>ActionScript2.0</title> <meta http-equiv="content-type" content="application/x-www-form-urlencoded"> </head> <frameset rows="350,*"> <frame name="top" src="../html/top.html"> <?php // Action ScriptからのPOSTデータの取得 $page = $_GET['page']; switch($page){ case 1: print("<frame name='bottom' src='../html/bottom1.html'>"); break; case 2: print("<frame name='bottom' src='../html/bottom2.html'>"); break; case 3: print("<frame name='bottom' src='../html/bottom3.html'>"); break; } if(is_null($page)){ // $page変数の中身がNULL(未定義)の場合 print("<frame name='bottom' src='../html/blank.html'>"); } ?> </frameset> </html> -------------------------------------------------------------

    • ベストアンサー
    • Flash
  • FlashにJavascriptで動的に変数を付加したい

    Flashでカウントダウンするムービーを作成し、その初期値をJavascriptで動的に付加しようとしています。 -親ページに子ページを<iframe>で読み込む -親ページの読み込みは都合最初の1回のみ -子ページはcgiで書き出し、その際にカウントダウン初期値を動的に設定 -子ページの内容を書き換える度、カウントダウン初期値を動的に変更して行くイメージです。 -子ページに設定したinitValueの値を、親フレームのFlashに付加してその値からカウントダウンさせたい。 -下記のような記述で、IE6.0のみ動作不可 □親ページ ■Flash埋込部 -<object>、<embed>各々に"id"を設定 -付加するカウントダウン用変数restの初期値は60 <object classid=(以下省略)> <param name="movie" value="countdown.swf?rest=60" id="fls"> <param name="quality" value="high"> <embed src="countdown.swf?rest=60" id="fls2"(以下省略)></embed> </object> ■Javascript <head> <script language="javascript" type="text/javascript"> <!-- function setPrm(rNum){ rv = "countdowm.swf?rest=" + rNum; document.getElementById("fls").setAttribute("value",rv); //<object>用 document.getElementById("fls2").setAttribute("src",rv); //<embed>用 } --> </script> </head> □子ページ <head> <script language="javascript" type="text/javascript"> <!-- initValue = 30;//サーバーより動的に取得 //親に記述している関数を実行 window.parent.setPrm(initValue); --> </script> </head> ■ブラウザ毎の動作状況 □WIN -IE6.0・・・× -Firefox2.0・・・○ □Mac -Safari2.0・・・○ -Firefox2.0・・・○ IE6.0のsetAttributeでつまづいているような気がしますが、代替となる記述法がわかりません。 IE6.0で動作させる方法等、お知恵をお借り出来ればと存じます。 よろしくおねがいします

  • フラッシュの読み込みについて

    現在、悪戦苦闘してフラッシュを利用したHPを製作しているものです。 トップページのHTMLファイルに500×500ピクセルほどのswfファイルを貼り付けようと思っているのですが、ページを開いたとき、swfファイルの読み込みに時間がかかり白い空白となってしまい、見苦しいのです。 swfファイルにプレローディングバーなどをつけてみたのですが、どうしても1~2秒の空白が出来てしまいます。 HTMLファイルとswfファイルの色を統一しているのですが、その空白の時間がどうしても気になります。 読み込んだ瞬間にプレローディング画面が表示される方法がないものでしょうか。 いろいろ調べてみたのですが、いまいちうまくいきません。 もし、何か方法があれば教えてもらえないでしょうか。

    • ベストアンサー
    • Flash
  • Flashについて

    HPを作っています。 一度こちらで尋ねましたがお返事がなかったので、もう一度お尋ねします。 1.同じ大きさのswfファイルとjpgファイルを作りました。 Flashのプラグインがない人のために、swfの下にjpgを置いておくにはどうしたらよいのでしょうか。 Flashのトライアル版で作ってswf方式でしか保存していません。 2.swfファイルのループを <param name=loop value=false>で制御しているのですが、 Macで見ると繰り返しています。 このファイル自体を再度扱えないので、HTML他で制御する方法がありましたら教えてください。 1も合わせて、Flashでなければ変更できないでしょうか。 小さな問題が色々出てきて困っています。 どうぞよろしくお願いします。

  • javascriptからPHPに変数を渡したい

    Javascriptで制御しているクライアントのページと PHPで制御しているサーバ側のページがあります。 クライアント側のページで生成したJavascriptの変数の値を サーバ側のページに送りPHPで処理したいと考えています。 どのようにすれば変数の値を送ることが出来るでしょうか? 出来ればフォームを使わずに内部処理で行いたですが、 出来なければフォームでも構わないのです。 簡単で構わないので例文を頂けると非常に助かります。 まったくの初心者で恐縮ですが、教授よろしくお願いします。

専門家に質問してみよう