ここから本文です

object属性って必要なのでしょうか?(embedでいいのでは?)

マンモスにしさん

2011/9/2623:18:36

object属性って必要なのでしょうか?(embedでいいのでは?)

HTMLの教科書を見ているのですが、フラッシュとか動画を再生した場合、objectを使うように書かれていました。
objectを使うと、フラッシュを再生させるのに、以下のような記述が必要になるようです。

<object date="movies/top.swf" type="application/x-shockwave-flash" width="550" height="400">
<param name="src" value="movies/top.swf">
<param name="loop" value="false">
</object>

これって、

<embed src="movies/top.swf" width="550" height="400" loop="false">

で事足りるような気がするのですが・・

objectを使う意味と有用性ってあるのでしょうか?

分かる方がいたら教えていただけると助かります。

補足非常に丁寧かつ分かりやすい説明ありがとうございます!!

勉強になりました!

閲覧数:
2,041
回答数:
1

違反報告

ベストアンサーに選ばれた回答

ris********さん

2011/9/2705:45:19

どの教科書をご覧になっているか不明ですが、少なくとも HTML 4.0 や XHTML 1.0 に embed は「ありません」よ。

embed はもともと Netscape の独自拡張で、HTML 4.0 には収録されませんでした。そのとき(やや問題はありましたが)object が考案されていたからです。

<object type="application/x-shockwave-flash" width="550" height="400">
_<param name="src" value="movies/top.swf">
_<param name="loop" value="false">

_<object type="image/jpeg" data="top.jpg">
__<a href="top.jpg">ようこそ</a>
_</object>

</object>

おおまかな object の使い方は上記のようです。ブラウザは、まず一番外側の Flash(パラメータ付き)を再生しようとします。しかし、ご存知のように Flash はブラウザのプラグインとして提供されていますので、プラグインを持たないブラウザでは再生できません。

そんなとき、中にある別の object を再生します。これは画像ですので、たいていのブラウザなら表示できるでしょう。さらに、画像も表示できないモバイル機器などでは、object の中の a リンクを表示します。利用者はリンクからダウンロードできます。

こんな風に、それを再生・表示できない場合のために、代わりのものを段階的に提供できる、というのが object の真骨頂です。

---
ところが、object には「敵」がいました。IE6 です。

IE6 には、入れ子にした object を全て表示してしまうという性質がありました。ということは、当時シェア 90 パーセント以上を誇った IE6 のために、object の真骨頂である多段フォールバックを利用できない、という情けない状況になります。

仕方がないので、object の中に embed を入れるという方法が使われました。このため、標準ではない embed も生き延びることができました。

<!-- この object は WinIE の特定のプラグインを指定するのに用いられる -->
<object classid="...">

_<!-- この embed は WinIE 以外のブラウザのプラグイン呼び出しに使われる -->
_<embed ...>

</object>

そして現在、embed はついに HTML5 に収録されました。

---
『embed で事足りる』とお考えなのは、不躾ながら、それが再生できない場合のことを考えたことがないからではないでしょうか。

embed は、ブラウザだけでは処理できないデータを、プラグイン経由で外部プログラムを呼び出すことで処理するものです。ですから、プラグインを持たないブラウザや、セキュリティのためにプラグインを無効にした場合、データを処理できないことになります。

object が必要なのは、そういうときの代わりの手段を利用者に提供するためです。IE6 が消えつつある今、活用してやって下さい。

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる