• ベストアンサー

swfって…

HTMLでswfファイルを埋め込むときどんなタグを使用したらいいのでしょうか? <object>は未対応ブラウザがあるようですし<embed>は非推奨ですよね。 本を買ったり、ネットで検索してみたのですがいまいちわかりません。 どのように記述すれば、一番問題がないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> <object>は未対応ブラウザがあるようですし うーん,具体的にそのブラウザを教えてもらえますか? LLLuna氏からブログにもらったコメントによると, <object type="application/x-shockwave-flash" data="hoge.swf" style="width:300px;height:300px"> <param name="movie" value="hoge.swf" valuetype="ref" type="application/x-shockwave-flash"> <param name="bgcolor" value="#ffffff"> <param name="loop" value="false"> <param name="quality" value="high"> </object> という記述によって >IE7,Firefox2,Opera9,Safari3において正常に動作します。 >Firefoxはobject要素のdata屬性値のみを、 >IEはparam要素のname="movie"(name="src"も可)のvalue屬性値のみを、 >Opera/Safariはその兩方(前者優先)を再生するFlashムービーとして見るやうです。 >(Safariの場合、ローカルだとムービーが讀み込まれない模樣) とのことです。 ================== IE と Fx/Opera/Safariは Flashの再生に使われるプラグインが違う (前者がActive Xコントロール(.ocx)で後者が.xptとdllだったと思う。なおインストーラも違う。)ため, Adobeの古い説明を真に受けて #1氏の回答のようにclassidを指定していると IE動くけど, FirefoxとOperaでは動作しない とかいう状況になります。外せば動くのに。 (で,動かないと勘違いしてembedを入れる,という人もいる) #互換性のために,classidを無視したらどうだ?とかいう提案も Bugzilla.mozilla.orgのどこかで見たけど,他の用途にも使われる可能性があるということで却下されてました。 上記に記述したとおり, object要素のdata属性だけ指定してIEで動作しないと嘆いたり param要素だけで指定して(Or object要素もsrc属性だと思い込んで)Firefox系で動作しないと嘆いたり, code属性(applet要素にはあるが,object要素には無い)を使っていて動かないと嘆いていたり というパターンにも陥っているかもしれませんね。陥らないように。 #XHTMLの場合,param要素の閉じ方の書式が違います。念のため。 ====================== #Firefox系以外はEcmascriptによってsrc属性の値を書き換えても Flash自体が入れ替わらなかったことがある #Firefoxのバージョンによっては「object要素のtype属性でMIME typeを指定しても,サーバが正しいMIME Typeを遣さないとき,そのobjectが表示されない」というのがあったこともある ======== object要素は内容に%flowを持ったと思うので, ブラウザで直接表示しないユーザーのために ファイル自体へのリンクをa要素で張っておくとか, できればzipファイルにまとめて,ダウンロードできるようにしておくと Excellent! ==================== ところで,少し話題が外れますが 同じくobject要素を利用して埋め込むものに, Java appletがあり, こいつもSunの情報で混乱を招くような形になっています。 (HTML 4.01にもapplet要素というものが残ったが, XHTML 1.1で破棄された) #Java appletもたぶんプラグインがIE系とそれ以外で別物ですから 同様の問題が発生すると思います。 codebase属性はW3Cの規格によると object要素のdata属性等で指定されるパスの基底URIを記述するはずなのに 当初のWebで大量に氾濫したのはIEで動作していた,「プラグイン自体」をユーザーに入手させるためのURIで現在のFirefoxが「正しく」解釈すると動作しない,等のことも起こっているようです 参考: http://www.w3.org/TR/html401/struct/objects.html#adef-codebase-OBJECT https://bugzilla.mozilla.org/show_bug.cgi?id=178780 https://bugzilla.mozilla.org/show_bug.cgi?id=39047 https://bugzilla.mozilla.org/show_bug.cgi?id=123722 https://bugzilla.mozilla.org/show_bug.cgi?id=167601 オマケ(あんま関係ない): http://www.watch.impress.co.jp/game/docs/20070927/wv.htm

flicker
質問者

お礼

おおこれはすごい! どうも有り難うございます。 こんな事細かに説明していただいて大変助かります。 リファレンスに実際のソースの記述の仕方が載ってなかったり ネットで見つけた情報は情報が古いためHTMLのバージョンやブラウザ が合わなかったり、DWの吐き出すソースが理解できなかったりしたのですが これで解決です。 どうも有り難うございましたm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#66720
noname#66720
回答No.3

タグじゃないですが、Javascriptで挿入する方法があります。 SWFObject http://blog.deconcept.com/swfobject/ マニュアルを日本語訳されているサイト http://www.trick7.com/blog/2006/06/15-135235.php

flicker
質問者

お礼

御回答有難うございます。 Javascriptで埋め込む方法もあるんですね。 参考になります。 リンクまで貼っていただいてどうも有り難うございましたm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
noname#56882
noname#56882
回答No.1

Flash Playerプラグインを配布しているAdobeのサイトでは <OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" WIDTH=300 HEIGHT=300> <PARAM NAME=movie VALUE="test.swf"> <PARAM NAME=bgcolor VALUE=#FFFFFF> <PARAM NAME=LOOP VALUE=false> <PARAM NAME=quality VALUE=high> <EMBED SRC="test.swf" WIDTH=300 HEIGHT=300 bgcolor=#FFFFFF LOOP=false QUALITY=high PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" TYPE="application/x-shockwave-flash" </EMBED> </OBJECT> を推奨しているようです。参考:http://support.adobe.co.jp/faq/faq/qadoc.sv?228623+002 [embed要素]については下記を参考にしてください。 http://www.seo-equation.com/html/html/embed

flicker
質問者

お礼

御回答有難うございます。 ソース、リンク先参考にします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • XHTMLとFlashのパブリッシュについて。

    swfをページに組み込む際に、FlashMXについているパブリッシュ機能を使えば、<embed>が入ってW3Cに推奨されず、<embed>だけを消して<object>のみを使えばブラウザによっては対応していない(http://www.htmq.com/html/embed.shtml)と、八方塞がりで困っています。そこで、下記の質問を参考にしました。 【http://oshiete1.goo.ne.jp/kotaeru.php3?q=467352】 ですが、わたしがJavaScriptの技術を取得していないために、記述されているタグを見ても内容がさっぱりわかりません。それは今後の努力で会得していくつもりです。しかし、自分勝手ではありますが、すぐにでもこの問題を解決したいのです。 この問題を解決していただける方がいましたら、お手数ですがご指南願います。 あと、<object>のみでswfを表示させた際、どの程度の方々が見られなくなるか、参考程度で良いので(自論で構いません。正確な数値があるわけでもないので;)お聞かせ願えれば幸いです。よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLに配置したSWFファイルにハイパーリンクをつける場合

    HTMLファイルにobjectタグで埋め込んだswfファイルに、 swfファイル自身のアクションスクリプトで ハイパーリンクをつけるのではなく、 HTML上でハイパーリンクをつける場合 どうすればよいでしょうか。普通にaタグで囲むだけでは ムリなようなので…。

    • ベストアンサー
    • Flash
  • CSSにswfを埋め込む記述

    こんばんは。CSSを勉強中です。 HTMLの中にメニューのSWFファイルを埋め込みたいのですが、その場合はCSSでの設定はどのようにしたらいいのでしょうか? HTML上に<object classidcodebase="****" width="750" height="80"> <param name="movie" value="1.swf"> <param name="quality" value="high"> <embed src="1.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="750" height="80"></embed></object> と入れれば表示されますが、それが正しいやり方なのでしょうか?なんだか違っているような気がするのです。 cssで設定しなくてもいいのでしょうか?ご存知の方教えてください。おねがいします。

    • ベストアンサー
    • HTML
  • SWFが更新されない。

    HPのSWFファイル,ファイル名「top.swf」があります。 今回、そのtop.swfを新しくしようと思って、top2.swfというファイルを作りました。 完成後FTTP転送して、HTMLタグのtop.swfをtop2.swfに書き換えて、年のためブラウザのキャッシュも クリアしました。しかしながら、なぜか表示されるのはtop.swfなのです。。。 top.swfは全てtop2.swfにしてるので表示されないならまだしも、タグ上に記載されていないファイルが残ってるのはなぜでしょうか?

  • 万能画像タグ…SWF&GIF、JPG

    こんにちは! 画像タグを探しています。 SWF(FLASH)が表示できてその上でGIF、JPG、BMPなども表示できるものですが、 <IMG>タグだとSWFが表示できません。 <EMBED>タグだとGIF,JPG,BMPが表示できません <OBJECT>タグだと種類ごとにクラスなどを書き換えないといけないのでだめです。 最終的にSWF&GIF、JPGがアイコンとして使えるチャットを作成したいのですが、ファイル名のところを変えるだけでどちらも動く画像タグをどうしても見つけることができませんでした。 どなたかご教授ください

    • ベストアンサー
    • HTML
  • swfファイルをdreamweaverでHTMLに配置するには。。

    Flash CS4 Actionscript2.0 使用の超初心者です。 Flashで制作したswfをhtmlに配置したいのですが、 <EMBED src="../swf/orderworks.swf" WIDTH="580" HEIGHT="490"></EMBED> 上記の記述では、フォルムは表示されるのですが動きませんでした。 画像ファイルも出てきていません。 配置したいのは、 「orderworks.swf」で、 「swf」フォルダに入っています。 xmlファイルと画像フォルダも同じフォルダに入っています。 Flash上のプレビューでは問題なく動いています。 どなたかご教授ください。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • .swf のランダム表示の html記述について。

    初めて質問させていただきます。 私は、FLASH初心者で、HTMLが理解できる程度ですので、どう記述すれば良いかを教えていただければ助かります。どうぞよろしくお願いします。 5つの.swf(200x55のa.swf,b.swf,c.swf,d.swf,e.swf)を作りました。 この.swfを、ページを読み込む(あるいは更新する)度にランダムに選択し表示させたいのです。 こちらで過去のQ&Aで<EMBED>の記述は参考にして、Firefoxでのランダム表示は出来ました。HTMLの記述は以下のとおりです。 =============================================================== <html> <head> <title></title> <style type="text/css"> <!-- --> </style> </head> <body> <script language="JavaScript"> <!-- swfFiles = new Array("a.swf","b.swf","c.swf","d.swf","e.swf"); document.write('<embed src="' + swfFiles[Math.floor(Math.random()*5)] + '" quality="high" bgcolor="#000000" width="200" height="55">'); //--> </script> </body> </html> ================================================================ この記述でFirefoxでは表示されましたが、InternetExplorer・Operaなど主要なブラウザでも表示させたいのです。 どうかどなたか教えてください。できれば、上の記述内容に直接書き加えた形で教えていただけると助かります。 どうぞ、よろしくお願いします。

  • HTMLからFlashで作成したswfファイルを起動して変数を渡す方法

    HTMLからFlashで作成したswfファイルを起動して変数を渡す方法についてです。 その際、フレームで定義した領域にswfを読み込みたいのですが、その場合、どのようにすれば変数をswfに渡すことができるでしょうか? FlashVars属性をobjectタグやembedタグに追加するようにマニュアルには記載がありますが、フレーム内にswfを読み込む場合の変数の渡し方がわかりません。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • swfobjectで表示させたswfをランダムに表示したい

    swfobjectで表示させているswfを、 リロードするたびにswfファイルを読み込んでランダムに表示させたいと思います。 下記のswfをランダムに表示させるサンプルソースを流用して 使用しようとしたのですが、javascriptに詳しくないのでうまく行きません。 <embed>タグ、<object>タグを使わずに、swfobjectの書き方に合わせる記述のしかたを教えていただきたいです。 <script type="text/javascript"> <!-- simg=new Array(2); simg[0]="index"; simg[1]="index2"; Myimg=Math.floor(2*Math.random()); document.write("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.c... width='100%' height='100%'><param name='allowScriptAccess' value='sameDomain' /><param name='movie' value='"+simg[Myimg]+".swf' /><param name='quality' value='high' /><param name='bgcolor' value='#ffffff' /><param name='LOOP' value='false'><embed src='"+simg[Myimg]+".swf' quality='high' bgcolor='#ffffff' width='100%' height='100%' allowScriptAccess='sameDomain' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' loop='false' /></embed></object>"); //--> </script>

  • Adobe Flash Catalystで、パブリッシュした後でswf

    Adobe Flash Catalystで、パブリッシュした後でswfのサイズを変える方法がわかりません。 他のコンテンツと共用のため、1280Wx720Hのアートボードで作ったswfをローカル再生用に、 パブリッシュしました。これを、750Wx422Hくらいに比率を保ったまま、縮小したいのですが、方法がわかりません。 swfの内容は、Catalystで2ページを作りその間にトランジェントがある単純なものです。 フリーの制作ソフトSuzukaでは、アートボードのサイズとは別に、swf書き出しの時に、 サイズ指定ができました。また、object/embedでHTMLに埋め込む時にも、サイズが指定 できましたので、swfにしてから、何とかなると思っていました。 Catalystでは、swfパブリッシュの時、サイズ指定はありません。 ローカル再生用のswfパブリッシュで生成されるHTML内のobjectのパラメーターを、 変えてみましたが、swf本体のサイズは変わらないで、swfが表示される画面のサイズが、 小さくなっただけでした。 よって、swfの左上1/4が見えて・動いているだけです。 最終的には、用意済みの他のHTMLページに、パブリッシュで生成されたHTML内のswfに関連するobject記述をコピペして、swfをリンクさせて完成したいのですが。 swfのサイズの変更でつまづいています。 swfには、制作したソフトにより、埋め込む際のobject/embedのパラメーターで、サイズ 調整ができるものと、そうでないものとがあるのでしょうか? 初心者ですので、私の知らないサイズ関連のパラメーターでサイズ変更ができるので しょうか? どなたか、Help Me~~~~~~~~!!!!