FlashをHTMLに貼るライブラリ swfobject 2 を使う
Flash を HTML に貼る時によく使われるのが、swfobject という JavaScript ライブラリです。既に多くのFlash系サイトで使われています。swfobject の資料を探すと、1.5 系のものが多く見つかりますが、本稿執筆時点での最新版は、2.1 です。そこで、本稿では、2.1 で変更になった使い方や、最新機能の魅力を紹介してみようと思います。
swfobject について
swfobject は、Flash/Flex を、Web ページに貼りつけるのに便利な JavaScript ライブラリです。ライセンスも、MIT Licenseということで、使い手が良いものとなっています。以前、本連載の中で「Flash や Flex をHTMLに貼るコードの考察」として、Flash や Flex を HTML に貼る場合、どのようにしたら良いのかを考察してみました。この中で、swfobject を紹介しました。このときは、swfobject 1.5 について紹介しましたが、バージョンがあがり、2.1 になったので、改めて使い方を紹介します。
swfobjectの入手
swfobject は、google code のプロジェクト swfobject からダウンロードすることができます。2.1の時点で、3つダウンロードファイルがありますが、基本的には「swfobject_2_1.zip」をダウンロードして使います。
- swfobject
- http://code.google.com/p/swfobject/
基本的な使い方
基本的な使い方が、swfobject 1.5 のときと変わっています。2.x になって、よりシンプルに記述できるようになりました。
ここでは、たとえば、hoge.swf という名前のFlashファイルをページ中に埋め込むことを考えてみます。
まず、swfobject のアーカイブを解凍します。そして、HTMLに貼り付けたい Flash ファイル「hoge.swf」と、アーカイブの中にある「swfobject.js」というファイルを、Webにアップロードします。
そして、HTMLファイルには、次のように記述します。
<html><body>
<!-- ここに Flash が表示される -->
<div id="idhoge"></div>
<!-- ここからFlashの表示用のコード -->
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.embedSWF("hoge.swf", "idhoge", "300", "200", "9.0.0");
</script>
</body></html>
以下、詳しく解説します。
swfobject では、まず、Flashファイルを表示する div タグを用意します。そして、この div タグには、id をつけておきます。
<!-- ここに Flash が表示される --> <div id="idhoge"></div>
次に、swfobject が使えるように、ライブラリの取り込みを行います。(src属性を指定してjsファイルのパスを指定します。ここでは、swfファイルと同じパスに置いた場合を想定しています。)
<script type="text/javascript" src="swfobject.js"></script>
最後に、実際に、Flashファイルを表示するためのコードを一行記述します。
<script type="text/javascript">
swfobject.embedSWF("hoge.swf", "idhoge", "300", "200", "9.0.0");
</script>
基本的な、swfobject.embedSWF() の引数は、次のようになっています。
swfobject.embedSWF("表示したいFlashファイル", "表示するid",
"Flashの幅", "Flashの高さ", "要求するFlashのバージョン");
追加オプション
Flashファイルを貼り付けるときに、パラメータを渡したい場合が多くあります。そんなときは、embedSWF() メソッドにさらに次のパラメータを続けます。
swfobject.embedSWF("Flashファイル","表示id","幅","高さ","Flashバージョン",
"expressInstall.swf",
flashvarsオブジェクト,
paramsオブジェクト,
attributesオブジェクト);
ちなみに、flashvars は、Flash自身に渡すパラメータで、paramsオブジェクトは、Flashプラグインに渡すパラメータです。params オブジェクトには、背景を透明にするとか、全画面表示を許可するなどの指定を行います。
例えば、スケールモードの指定や全画面表示を許可する場合には、次のように記述します。params オブジェクトには、オブジェクトの初期化の方法を利用して記述します。
var flashvars = {};
var params = {
scale:'noScale',
salign:'lt',
menu:'false',
allowfullscreen :'true'
};
var attributes = {};
swfobject.embedSWF("hoge.swf", "idhoge", "300", "200", "9.0.0",
"expressInstall.swf", flashvars, params, attributes);
ちなみに、"expressInstall.swf"というのがありますが、これは、swfobject に付属のswfファイルで、Webにアップロードしておきます。これにより、Flash のバージョンが低い時に、自動アップデートを実行させることができます。
貼り付けコードのジェネレータを使おう
さて、swfobject のもう1つの魅力は、自動で HTML のコードを生成するジェネレータにあります。ジェネレータを使うには、ダウンロードページにある「swfobject_generator_1_1_html.zip」を使います。(あまり意味がないと思うのですが)AIR版もあるのでインストールして使うこともできます。
このジェネレータを使うことで、静的なHTMLコードと、JavaScriptによる動的なコードの2種類を生成することができます。
まとめ
以上、swfobject 2.1 の使い方を紹介しました。Flash を HTML に貼り付けるのには、Flash CS3以前の方法を使うのは、なかなか面倒です。そこで、swfobject を使うことで、気軽に Flash ファイルを貼り付けることができます。
Flash ファイルをHTMLに貼り付けたい場合には、参考にしてください。
このサイトについて
TrackBack URL :




[…] で、他にも探してみて、 八角研究所さんの FlashをHTMLに貼るライブラリ swfobject 2 を使う […]
Posted by SWFObject 2で配置したFlashコンテンツの下に、プルダウンメニューが隠れるのを解決 | Keys | 2008年12月06日 13:11
[…] swfobjectを用いたFlashファイルの埋め込み: Red5のサンプルをみるとFlashファイル(swf)をWebページに埋め込むのにswfobjectと呼ばれるJavaScriptライブラリが使われている。このswfobjectについてWeb上で検索してみると、「FlashをHTMLに貼るライブラリswfobject2を使う」が見つかった。 […]
Posted by Red5の利用:Flashファイルの作成とWSポスト上への埋め込み | Yama's Memorandum | 2009年04月11日 13:15
[…] swfobject […]
Posted by swfobject | UX | 2010年05月12日 00:56