lang=ja属性のないHTMLでもIE6でメイリオ表示させたい! AS3.0事始め~
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>

で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 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);

空(”)や空のオブジェクト({})だと問題ないようなので、まあnullは使わないほうがいいってことかな?

Popularity: 41% [?]

written by joy-pop

add to hatena hatena.comment (30) add to del.icio.us (10) add to livedoor.clip (5) add to Yahoo!Bookmark (2) Total: 47

5 Responses to “SWFObject v2.0を使う”

  1. ANN Says:

    ふむー。参考になります!

    ちなみに、SWFObjectのジェネレータがありました。
    http://www.swffix.org/swfobject/generator/

  2. ANN Says:

    ついでにもういっこ。パブリッシュ用テンプレートHTMLをカスタマイズする
    http://www.5ive.info/blog/archives/68

  3. joy-pop Says:

    > ついでにもういっこ。パブリッシュ用テンプレートHTMLをカスタマイズする

    おおっ!そんなんがあるのかー。
    DreamWeaverでswfを挿入したときのコードの調整方法がわかるとうれしいー!
    DreamWeaver8だとAdobe.jsをごにょごにょせにゃならんのかなー? 

  4. ANN Says:

    うーん。ちょっと調べたけどDreamweaverの場合、よくわからんです・・・

    スニペットにswfobjectのひな形を登録しておくってのはどうでしょうか?
    僕はPHPのコメントフォーマットを、スニペットに登録してすぐ使えるようにしてます。

  5. joy-pop Says:

    > スニペット

    知らんかったー。こんな使い方できるんかー!アプリの機能ほとんど使い切ってないなーwww。

Leave a Reply