トップ » 技術記事 » Flash や Flex をHTMLに貼るコードの考察

Flash や Flex をHTMLに貼るコードの考察

タグ: Flash Flex swfobject

SWFObject を使う

そこで、使いたいのが、Flash を手軽に画面に表示してくれる JavaScript のライブラリ SWFObject です。このライブラリは、YouTube、フォト蔵をはじめ、多くのFlashを利用するWebサイトで採用されています。

なぜこのライブラリが使われているのかと言うと、前述の IE の枠が表示される問題も回避できるのも理由ですが、Flash のバージョン判定も行うことができ、、Flash playerのアップデートを自作のswf内で処理できるという「Express Install」にも対応しています。また、Flash に値を渡す方法なども用意されています。加えて、ライブラリのライセンスも、MITライセンスであるので、自由に利用することができる点も選ばれている理由でしょうか。

ここでは、SWFObject のダウンロードから、利用方法までをまとめてみます。

SWFObject の入手

SWFObjectは、次のサイトからダウンロードすることができます。

- deconcept > SWFObject: Javascript Flash Player detection and embed script

また、このドキュメントを翻訳した日本語のページが以下にあります。

- trick7.com blog

簡単な使い方

SWFObjectの簡単な使い方は、次のようになります。例えば、example.swf というファイルを表示する例です。上記サイトより、ダウンロードしたファイルに梱包されている swfobject.js と、表示したいFlashファイル example.swf を同じディレクトリに配置したという前提です。

<!– (*1) ライブラリの取り込み –>
<script type="text/javascript" src="swfobject.js"></script>

<!– (*2) Flashを表示する箇所を指定する –>
<div id="flashcontent">
※ここに Flash Player がインストールされていない場合の処理を書く。
※一般的には、Flash Player のダウンロードサイトへのリンクを記述。
※SEO対策用のキーワードを入れる場合もあるみたいです。
</div>

<!– (*3) Flash を表示するコード –>
<script type="text/javascript">
 var so = new SWFObject("example.swf", "example", "600", "400", "7", "#F0F0F0");
 so.write("flashcontent");
</script>

上記の例は、分かりやすく冗長に書いています。基本的に、3つのパートから成ります。まずは、コード中の(*1) にあるように、swfobject.js の取り込みを行います。

次に、コード中の(*2) ですが、これは、Flash を表示する部分(Flashの表示に置き換わる部分)を決めます。div などのタグに、任意の id (ここでは、flashcontent)を指定します。そして、タグの内側には、Flash が表示できなかった場合の処理などを、記述しておきます。

そして、コードの(*3)の部分で、Flash を表示するスクリプトを書きます。スクリプト部分の1行目は、SWFObject というオブジェクトを生成している部分で、2行目で実際に Flash の表示タグを書き込みます。

SWFObject の生成は、以下のような引数を指定して行います。

new SWFObject(
  [SWFファイル名],
  [embed id],
  [横幅],
  [高さ],
  [Flashのバージョン],
  [背景色]);
任意の値を渡す場合

Flash に任意の値を渡したい場合には、次のように「addVariable」メソッドを使用します。

<script type="text/javascript">
 var so = new SWFObject("example.swf", "example", "600", "400", "7", "#FFFFFF");
 so.addVariable("var1", "value1");
 so.addVariable("var2", "value2");
 so.write("flashcontent");
</script>
Flashの表示パラメーターを指定する場合

また、背景を透明にするかどうか、Flashのムービー再生クオリティを指定する場合など、Flash表示のパラメーターを指定する場合には、「addParam」メソッドを使用します。

<script type="text/javascript">
 var so = new SWFObject("example.swf", "example", "600", "400", "7", "#FFFFFF");
 so.addParam("quality", "low");
 so.addParam("wmode", "transparent");
 so.write("flashcontent");
</script>

まとめ

このように、HTMLに、Flash や Flex のファイルを表示する際には、JavaScript のライブラリである、SWFObject を使うのが便利です。しかし、YouTubeの動画配布用コードのように、最低限の、object タグ、embed タグを記述することで用を成してしまう場合もあります。状況に応じて、必要な方法を選択することが賢いやり方だと思います。


1 2

執筆者紹介

クジラ飛行机

クジラ飛行机

くじらはんど(http://kujirahand/)にて、日本語プログラミング言語「なでしこ」(IPA未踏ユース採択)、テキスト音楽「サクラ」(OSPオンラインソフト大賞入賞)など多くのオンラインソフトを開発。著書に「Flexプロフェッショナルガイド」「なでしこ公式バイブル」、「一週間でマスターするActionScript3.0」など。

TrackBack URL :