« メニューのサンプル | トップページ | Externalinterfaceの練習 »

2009年8月21日 (金)

SWFObjectで全画面表示swfの復習。

有名な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についてメモ

|

« メニューのサンプル | トップページ | Externalinterfaceの練習 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1040194/31045129

この記事へのトラックバック一覧です: SWFObjectで全画面表示swfの復習。:

« メニューのサンプル | トップページ | Externalinterfaceの練習 »