前述の例には、SWFObjectの基本使用に必要なものがすべて含まれています。次に、Flash Playerのその他のパラメータを使用する場合を検討してみましょう。SWFObjectでは追加のパラメータが必要な場合、簡単に追加できます。
以下の例ではFlashコンテンツの埋め込みに使用できるいくつかの方法を紹介します。
この例では、新しいSWFObjectファイルを作成して、qualityを「low」に、wmodeパラメータを「transparent」に、alignmentを「t」に設定します。
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100%", "7", "#336699");
so.addParam("quality", "low");
so.addParam("wmode", "transparent");
so.addParam("salign", "t");
so.write("flashcontent");
</script>
現在使用できるパラメータとその値の詳細なリストは、Flash Player TechNoteの「Flash OBJECT and EMBED tag attributes*」に記載されています。
FlashVarsを使用すると、HTMLファイルからSWFに簡単にデータを渡すことができます。ただし、データを渡すことができるのは最初にムービーがロードされるときだけです。通常は、flashvarsというパラメータを追加し、次のように、その値に名前と値のペアを文字列として渡します。
variable1=value1&variable2=value2&variable3=value3
上のように続けることができます。
SWFObjectでは、パラメータを追加する際と同様に変数をいくつでも追加できるので、さらに簡単です。次の例では、FlashVarsを使用してSWFに値を渡します。
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
so.addVariable("variable1", "value1");
so.addVariable("variable2", "value2");
so.addVariable("variable3", "value3");
so.write("flashcontent");
</script>
これが処理されると、渡した変数はすべてSWFの中で使用できるようになり、_rootタイムラインにある変数と同様にアクセスできます。FlashVarsの動作について詳しくは、サポートデータベースの「FlashVars を使用して SWF へ変数を渡す*」を参照してください。
SWFObjectスクリプトには、URL文字列から変数値を取得できる関数が用意されています。例えば、次のようなURLがあるとします。
http://www.example.com/page.html?variable1=value1&variable2=value2
getQueryParamValue()関数を使用すると、簡単にURLから値を取得してSWFに渡すことができます。上のURLを使用すると次のようになります。
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
so.addVariable("variable1", getQueryParamValue("variable1"));
so.addVariable("variable2", getQueryParamValue("variable2"));
so.write("flashcontent");
</script>
また、getQueryParamValue()関数はlocation.hashから変数を読み取ることもできます。これはFlashアプリケーションにディープリンクを設定するときに使用されることがあります。location.hash変数を使用してSWFにディープリンクを設定する例については、Slideshow Pro demo*をご覧ください。ここではSWFObjectの埋め込みを使用しています。