SWFObjectでのswf設置


swfを設置する際Objectタグと、Embedタグでの設置が以前まで一般的でしたが多少問題点があります。

  • IEでは「ActiveXをインストールしますか?」というダイアログボックスが表示される
  • 一度Flash画面をクリックしてアクティブにさせてからでないと、操作できない


これはちょっと嫌だ。。 ><


そこでSWFObjectでswfを設置するとこれらを回避できます。
仕組は、ある要素の中身をswfを表示するための文字列に置き換えます。


まず下記にてファイルをダウンロードしてください。
http://code.google.com/p/swfobject/downloads/list


上記ファイルのうち"index.html"、"index_dynamic.html"、"test.swf"以外を設置(これらは設置見本なので必要ありません)したら"head"タグ内で"swfobject.js"を読み込みます。

<script type="text/javascript" src="./swfobject.js"></script>


次にswfを挿入するブロックを任意のidを指定し、設置します

<div id="swf">javascriptが有効じゃなかった時に表示される代替テキストor代替画像</div>


呼び出しの記述はhead内でもbody内どちらでも(flashvars, params, attributesはなくてもOK)

<script type="text/javascript">
 swfobject.embedSWF("swfへのパス", "挿入するボックスのid", "幅", "高さ", "プレイヤーのバージョン", "expressInstall.swfへのパス", flashvars, params, attributes);
</script>


flashvars, params, attributes オブジェクトなどのパラメータ設定は変数へ格納

 var flashvars = { name1 : ‘hello’, name2 : ‘hoge’ };
 var params = { menu : ‘false};
 var attributes = { id : ’swfPlayer’, name : ’swfPlayer’ };


いじょうです。とってもかんたんですね ><