Javascript関連情報

更新日:2003年12月25日

.js外部ファイル編 [12] FlashをIE仕様変更に対応3

いよいよFlash用関数の仕上げにはいります。前々回の関数に前回のパラメータを引数として組み込むところからはじめます。まず、今回は前回のパラメータを単純にすべて取り込んだサンプルです。


JavaScript Tips
外部ファイル編
jsファイルでメンテナンスを楽にする



■  [12] FlashをIE仕様変更に対応3

さて、いよいよFlash用関数の仕上げにはいります。 前々回の関数に前回のパラメータを引数として組み込むところからはじめます。 まず、今回は前回のパラメータを単純にすべて取り込んだサンプルです。
     


    今回は難しいことを考えずに 前回 調べたEMBEDとOBJECTタグ用のパラメータをすべて取り込んでみます。

    考え方としては、パラメータを引数としてリストアップし、関数内では受け取った引数値を 使って各タグをdocument.write()で書き出すというものです。

    この時、前回のパラメータのうちtypeやpluginspace、classidなどの値が決まっているものについては 引数で毎度渡す必要はないのであらかじめ関数内に書き込んでしまいます。

    あとは、引数を列記して関数を呼び出せば思い通りのパラメータを適用したFlash用タグが書き出されるというわけです。

    今回作った関数は下記の writeFlashHTML() です。ちなみに、引数の頭にアンダースコア(_)が付いているのは 、わかりやすくするためにEMBEDとOBJECTタグのパラメータ(または属性)名をそのまま引数名としたのですが 「class」という名前がJavaScriptの予約語といって変数などに使ってはいけない単語なので それを回避するためです。
    
     writeFlashHTML()
    
    /*==================================================================== * Flash用 EMBEDとOBJECTタグを書き出す関数 useFree *-------------------------------------------------------------------- * http://allabout.co.jp/computer/javascript/closeup/CU20031212/ */ function writeFlashHTML ( /** * 引数 */ _swf // フラッシュのURL ,_quality // 画質 ,_loop // 繰り返し ,_bgcolor // 背景色 ,_wmode // 背景透明(WinIEのみ) ,_play // 自動再生 ,_menu // 右クリックメニュー ,_scale // 幅高さが%の時の縦横比等 ,_salign // 表示領域内表示位置 ,_height // ムービーの高さ ,_width // ムービーの幅 ,_hspace // まわりの余白(水平方向) ,_vspace // まわりの余白(垂直方向) ,_align // 表示位置 ,_class // クラス ,_id // ID名 ,_name // ムービー名 ,_style // スタイル ,_declare // 読み込まれるだけで実行しない ) { /** * スクリプト */ // タグ用文字列生成 var htm = "" htm+="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'" htm+=" codebase='http://download.macromedia.com/pub/shockwave/" htm+="cabs/flash/swflash.cab'" htm+=" width = '" + _width + "'" htm+=" height = '" + _height + "'" htm+=" hspace = '" + _hspace + "'" htm+=" vspace = '" + _vspace + "'" htm+=" align = '" + _align + "'" htm+=" class = '" + _class + "'" htm+=" id = '" + _id + "'" htm+=" name = '" + _name + "'" htm+=" style = '" + _style + "'" htm+=" " + _declare htm+=" >" htm+="<param name = 'movie' value ='" + _swf + "'>" htm+="<param name = 'quality' value ='" + _quality + "'>" htm+="<param name = 'loop' value ='" + _loop + "'>" htm+="<param name = 'bgcolor' value ='" + _bgcolor + "'>" htm+="<param name = 'play' value ='" + _play + "'>" htm+="<param name = 'menu' value ='" + _menu + "'>" htm+="<param name = 'scale' value ='" + _scale + "'>" htm+="<param name = 'salign' value ='" + _salign + "'>" htm+="<param name = 'wmode' value ='" + _wmode + "'>" htm+="" htm+="<embed " htm+=" pluginspage='http://www.macromedia.com/go/getflashplayer'" htm+=" width = '" + _width + "'" htm+=" height = '" + _height + "'" htm+=" hspace = '" + _hspace + "'" htm+=" vspace = '" + _vspace + "'" htm+=" align = '" + _align + "'" htm+=" class = '" + _class + "'" htm+=" id = '" + _id + "'" htm+=" name = '" + _name + "'" htm+=" style = '" + _style + "'" htm+=" type = 'application/x-shockwave-flash' " htm+=" " + _declare htm+=" src = '" + _swf + "'" htm+=" quality = '" + _quality + "'" htm+=" loop = '" + _loop + "'" htm+=" bgcolor = '" + _bgcolor + "'" htm+=" play = '" + _play + "'" htm+=" menu = '" + _menu + "'" htm+=" scale = '" + _scale + "'" htm+=" salign = '" + _salign + "'" htm+="></embed>" htm+="</object>" //書き出し処理 document.write(htm) }
    
     サンプル clock.htm
       clock.htm
    <!-- まず関数を読み込む --> <script language='JavaScript' src='./writeflashhtml.js'></script>

    <!-- 以下でFlash書き出し関数 writeFlashHTML を実行 -->
    <script language='JavaScript'>
    <!--

    //引数をそれぞれ指定して実行する

    writeFlashHTML
    (
    /** * 引数 * */ './aro.swf' //swf フラッシュのURL
    , 'hight' //quality 画質
    , 'true' //loop 繰り返し
    , '#00ffff' //bgcolor 背景色
    , '' //wmode 背景透明(WinIEのみ)
    , 'true' //play 自動再生
    , 'true' //menu 右クリックメニュー
    , 'exhactfit' //scale 幅高さが%の場合の縦横比等
    , 'c' //salign 表示領域内表示位置
    , '100%' //height ムービーの高さ
    , '100%' //width ムービーの幅
    , '5' //hspace まわりの余白(水平方向)
    , '5' //vspace まわりの余白(垂直方向)
    , 'left' //align 表示位置
    , 'flash1' //class クラス名
    , 'taku1' //id ID名
    , 'taku1' //name ムービー名
    , '' //style スタイル
    , '' //declare 読み込まれるだけで実行しない
    ) //--> </script>
     動作ブラウザ
      winmac linux
      n4n7m1e5e6o7 n4n7m1e5s1 n4n7m1k3
    というわけで、一応、前回リストアップしたパラメータは織り込みました。

    でも、実際に使ってみるとこの関数はすべての引数を指定しなくてはいけないのが案外面倒です。 「指定できるパラメータが足りない」という理由でこの関数を作ったわけですが、いざ全部指定して みると面倒だったりするわけですf^^;;。

    まぁ、わがままなもんですが(笑)、人類の文明は「楽をしたい!」とおもうからこそ 発達した?わけで、次回はここを解決したいと思います。(.js外部ファイルから話題がそれまくり...次回はもどれるのか?!)








  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

高橋 登史朗

Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…

続きを読む

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気Javascriptランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?