4月 03
IEのActiveX周りの取り扱いの変更が行われてから、もうずいぶんたってしまって、swfをページ中に挿入する際にはjavascriptを使った方法が当たり前になった。
挿入用のライブラリはいくつかあると思う。今回はバージョンアップされたSWFObjectを使ってみた。バージョン1.5から記述の仕方が変わっているんでメモ。2通りやり方があるみたいだけど、自分が簡単だと思ったほうのみで。
[参考]
[使用方法]
ダウンロードして解凍したのちサイト内に設置。まず利用するページにてswfobject.jsを呼び出す。
<script type=”text/javascript” src=”swfobject.js”></script>
swfを挿入するブロックをid付きで設置しておく
<div id=”swfContents”>javascriptが有効じゃなかった時のコンテンツ</div>
実際の呼び出し(ヘッダでもどこでもいいので)
<script type=”text/javascript”>
swfobject.embedSWF(”swfのURI”, “挿入するID”, “幅”, “高さ”, “プレイヤーのバージョン”);
</script>
swfobject.embedSWF(”swfのURI”, “挿入するID”, “幅”, “高さ”, “プレイヤーのバージョン”);
</script>
でOK。
flashvarsやparamタグに値を渡したり、objectタグにidなどの属性をつけたりするには
swfobject.embedSWF(”swfのURI”, “挿入するID”, “幅”, “高さ”, “プレイヤーのバージョン”, “expressInstall.swfのURI”, flashvarsオブジェクト, paramsオブジェクト, attributesオブジェクト);
という記述になる。上記のflashvarsオブジェクトとかは以下のような感じで記述して渡してあげるといい。
var flashvars = { name1 : ‘hello’, name2 : ‘hoge’ };
var params = { menu : ‘false’ };
var attributes = { id : ’swfPlayer’, name : ’swfPlayer’ };
var params = { menu : ‘false’ };
var attributes = { id : ’swfPlayer’, name : ’swfPlayer’ };
渡す値がないって場合には
var flashvars = {};
というように空のオブジェクトで渡すとか、
var flashvars = null;
でもいいみたい。
ちなみに”expressInstall.swfのURI”っていうのはswfobjectをダウンロードして解凍したら一緒に入っているのでそれも合わせてサイト内に設置しておく。
んで、この辺の扱いで以下のような条件だとエラーがでるっつーのを発見したので注意!
“expressInstall.swfのURI”のパラメータが空(”)、またはnullで、falshvarsオブジェクトが存在していて、paramsオブジェクト、またはattributesオブジェクトをnullにしている場合。
ex)
var flashvars = { name1 : ‘hello’, name2 : ‘hoge’ };
var params = null;
swfobject.embedSWF(”hoge.swf”, “swfContents”, “200″, “150″, “8.0.0″, “”,flashvars, params, null);
ex)
var flashvars = { name1 : ‘hello’, name2 : ‘hoge’ };
var params = null;
swfobject.embedSWF(”hoge.swf”, “swfContents”, “200″, “150″, “8.0.0″, “”,flashvars, params, null);
空(”)や空のオブジェクト({})だと問題ないようなので、まあnullは使わないほうがいいってことかな?
Popularity: 53% [?]





4月 7th, 2008 at 11:08 AM
ふむー。参考になります!
ちなみに、SWFObjectのジェネレータがありました。
http://www.swffix.org/swfobject/generator/
4月 7th, 2008 at 12:19 PM
ついでにもういっこ。パブリッシュ用テンプレートHTMLをカスタマイズする
http://www.5ive.info/blog/archives/68
4月 7th, 2008 at 1:19 PM
> ついでにもういっこ。パブリッシュ用テンプレートHTMLをカスタマイズする
おおっ!そんなんがあるのかー。
DreamWeaverでswfを挿入したときのコードの調整方法がわかるとうれしいー!
DreamWeaver8だとAdobe.jsをごにょごにょせにゃならんのかなー?
4月 9th, 2008 at 10:54 AM
うーん。ちょっと調べたけどDreamweaverの場合、よくわからんです・・・
スニペットにswfobjectのひな形を登録しておくってのはどうでしょうか?
僕はPHPのコメントフォーマットを、スニペットに登録してすぐ使えるようにしてます。
4月 14th, 2008 at 11:08 AM
> スニペット
知らんかったー。こんな使い方できるんかー!アプリの機能ほとんど使い切ってないなーwww。