• ベストアンサー

1つのhtmlページにswfを呼び出す方法。

HTMLページ(トップページ)内にコンテンツボタンがいくつかあり、 それぞれボタンを押すとそのHTMLページ(トップページ)内にフラッシュが表示される。という物をつくりたいのですがその方法を教えて下さい! いくつか方法があれば全て教えて頂きたいです。 今のところ思い当たるのはフレームで分割という方法のみです。 各フラッシュの画面サイズは同じになっています。 よろしくお願い致します。

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

javascript操作になるんじゃないのかな。 cssでflashのboxを display="none" にしてボタンを押したときにjavasctriptで display="" が簡単だと思う。 そういうのがわからないしめんどいなら考えてる通りframe分割が簡単だね(iframeでも良いと思うけど)

metasekoiya
質問者

お礼

迅速な回答ありがとうございます。 今回はiframeを使いたいと思います。 javascriptについてはこれから勉強させてもらいます!

その他の回答 (3)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.4

補足 リストなんかいらないやいっ、ボタンで表示・再生するだけでいいやっていうなら、No.2No.3のサンプルの function play(doc,container_id,content_id,url){} だけ 別に単体でも使えるよ! <head>部に <script type="text/javascript" src="https://www.google.com/jsapi" charset="UTF-8"></script> <script type="text/javascript">google.load("swfobject","2.2");</script> <script type="text/javascript">   function play(doc,container_id,content_id,url){    if(swfobject.hasFlashPlayerVersion("6")){    var c = doc.getElementById(content_id);    if(c) swfobject.removeSWF(content_id);    var d = doc.createElement("div");    d.id = content_id;    doc.getElementById(container_id).appendChild(d);    var att = { data:url,width:"300",height:"300"};    var par = { menu:"false" };    swfobject.createSWF(att,par,content_id);    }   } </script> だけおいといて、 <button onclick="play(document,'FlashContainer",'Content','test1.swf');"> TEST1の再生 </button> てな具合にね。 ※「swfobject.js」の詳細は↓を見てね。他にもやり方があるよ! http://code.google.com/p/swfobject/

metasekoiya
質問者

お礼

早速のご回答ありがとうございます。 まだHP制作の勉強始めて2ヶ月。 javascriptについてはこれから勉強しようと思います。 (引き出しは多いにこした事はないですからね。) 簡単な方法でいこうと思います。 枠なし設定のインラインフレームを使う事にしました。 コレくらいのシステムはパパっと仕上げたいものです。 ちなみにhttp://code.google.com/p/swfobject/こちらのURLの活用 のしかたもよくわかりません。まだまだ勉強させてもらいます。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

続き <body> <h1>Dynamic SwfObj Player </h1> <p> Movie List <ul id="MovieList">  <li><a href="test1.swf">Test1</a></li>  <li><a href="test2.swf">Test2</a></li>  <li><a href="test3.swf">Test3</a></li>  <li><a href="test4.swf">Test4</a></li> </ul> </p> <div id="FlashContainer">  <div id="Content">   <p>    <a href="http://www.adobe.com/go/getflashplayer">    <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player">    </a>   </p>  </div> </div> <script type="text/javascript">  swfobject.addLoadEvent(init);  function init(){   var list = document.getElementById("MovieList");   myMovieList = new MovieList(list,"FlashContainer","Content");  } </script> </body> </html> ここまで、

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

Javascript使ってよいなら「swfobject.js」を使って動的にプレーヤーオブジェクトを生成してしまいましょう。 各フラッシュのURLをリストでマークアップして、コンテナーに設定したDIVに再生します。 サンプル(全角空白は半角空白にしてね) <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Dynamic SwfObj Player </title> <style type="text/css"></style> <script type="text/javascript" src="https://www.google.com/jsapi" charset="UTF-8"></script> <script type="text/javascript">google.load("swfobject", "2.2");</script> <script type="text/javascript">  function MovieList(elm,container_id,content_id){   var doc = elm.ownerDocument;   elm./*@cc_on @if (@_jscript_version > 5.8)    addEventListener(    @elif (@_jscript_version <= 5.8)    attachEvent( 'on'+    @else@*/    addEventListener(    /*@end@*/    'click',Handler,false);   function Handler(event){    if(event){    var target = event.target;    event.preventDefault();    }else{    var target = window.event.target;    window.event.returnValue = false;    }    //alert(target.href);    play(doc,container_id,content_id,target.href);   }   function play(doc,container_id,content_id,url){    if(swfobject.hasFlashPlayerVersion("6")){    var c = doc.getElementById(content_id);    if(c) swfobject.removeSWF(content_id);    var d = doc.createElement("div");    d.id = content_id;    doc.getElementById(container_id).appendChild(d);    var att = { data:url,width:"300",height:"300"};    var par = { menu:"false" };    swfobject.createSWF(att,par,content_id);    }   }  } </script> </head> 続く...

関連するQ&A

専門家に質問してみよう