有名なSWFObjectの復習です。
いつもFlexBuilderでリリースしたものを使っているので、SWFObjectをしっかり使ったことがなかったもんで。
サイトからzipをDLして解凍すると、中には複数のファイルが入っています。
「expressInstall.swf」、「swfobject.js」の2つのファイルを使います。
同梱してある2つのhtmlファイル、「index.html」、「index_dynamic.html」ともSWFObjectの使い方のサンプルファイルで、2つのHTMLでそれぞれ別の記述方法で書いてあります。
自分は今回は、「index_dynamic.html」に記述してある方法を利用しました。
<script type="text/javascript"> swfobject.embedSWF("test.swf", "myContent", "100%", "100%", "9.0.0", "swfobject/expressInstall.swf",{},{bgcolor:"#000000"}); </script> |
サンプルの方法に、背景色の指定を加えました。
また、幅と高さを100%で全画面表示に。
ただ、このままだとIEではうまくいったのですが、FireFoxやOperaで正しく表示されませんでした。
解決方法は以下のサイトにありました。
nondelion.com - swfobject で flash を Window 内に全画面表示
ここにあった通り、以下のCSSを記述。
<style type="text/css"> <!-- body { position: absolute; width: 100%; height: 100%; margin: 0; padding: 0; }
html, body { overflow: hidden; } --> </style> |
一応、これでIE、FireFox、Operaでうまくいきました。
ちなみに、以下の記事を参考に、swfのキャッシュも防いでいます。
SWF ファイルのキャッシュを防ぐ方法
一応、動いているサンプル。
ちゃんと動作していると思います。
ちなみに、ローカルで動かない場合や、セキュリティサンドボックス侵害とかが出る場合は、SWFObjectに渡すパラメータをいじってやるとうまくそうな。
「allowScriptAccess」を「always」にするとローカルでうまくいくとかね。
パラメータの指定場所は、以下のサイトが詳しく書いてあります。
SwfObject - SWFObject(swfobject.js) 2.1についてメモ
最近のコメント