マルティメディアを文書中に埋め込む、<embed>要素についての解説です。
<embed>要素とは、文書中にマルティメディアなどのオブジェクトを埋め込む要素です。
<embed>要素は非公認要素です。
従って、利用した場合はどの文書型にも不適合となります。
しかしながら、ネットスケープ, インターネットエクスプローラ, オペラ, サファリなどあらゆるグラフィカルなユーザエージェントが独自拡張として実装しております。
<embed>要素は非公認要素のため、公式なXHTML モジュールにはいずれにも属しておりません。
<embed>要素は正式な仕様が無いため不明ですが、インライン要素とするのが順当でしょう。
インターネットエクスプローラでは内容として代替コンテンツを記述出来ますが、他の実装ユーザエージェントでは内容を持たない空要素となります。
尚、当該オブジェクトが埋め込めない場合の代替コンテンツは<noembed>要素で記述する事になっております。
<embed>要素は非公式ですが、現在実装されているユーザエージェントでは以下の属性が使えます。
オブジェクトのURIを指定します。
埋め込むオブジェクトのタイプを指定します。
例えば、フラッシュなら、type="application/x-shockwave-flash" 属性を附与します。
<embed>要素で使える共通属性には
があります。
埋め込んだオブジェクトの自動再生を指定します。
truefalseデフォルト値は多くの環境では true (自動再生する)ですが、インターネットエクスプローラの一部で特許問題から false としているものもあります。
埋め込んだオブジェクトをクライアント領域に描画するかどうかを指定します。
truefalseデフォルト値は多くの環境では true (クライアント領域に描画する)としています。
埋め込んだオブジェクトの再生を繰返しにするかどうかを指定します。
truefalseデフォルト値は多くの環境では false (繰り返さず一回限り)としているようです。
JAVAスクリプトがオブジェクトとして利用出来るようにするための名前です。
埋め込むオブジェクトのプラグインダウンロードページへのURIです。
プラグインがないため埋め込みに失敗した場合に、当該URIに案内出来るようにしております。
それぞれオブジェクトの横幅・高さをピクセル数またはパーセンテージ「○%」で指定します。
尚、正式な仕様ではありませんが、旧ネットスケープ社に依ればいずれも必須との事です。
align属性はオブジェクトの配置を指定します。
値には以下の五つがあります。
leftrightmiddletopbottom尚、align="lift"属性及びalign="right"属性が与えられた<embed>要素以降のテキストの廻り込みを解除するには<br>要素のclear属性を用います。
この他、オブジェクトに対応するプラグインやユーザエージェントに依り独自の属性が使える場合があります。
現在策定中のHTML 5では、<embed>要素が正式に定義される予定です。
但し、現行の<embed>要素とは全く異なったものとなる事が予定されております。
属性としては、共通属性とされる属性の他、以下のものに絞られる予定です。
現状でのtype属性と同様、埋め込むオブジェクトのタイプを指定します。
例えば、フラッシュなら、type="application/x-shockwave-flash" 属性を附与します。
現状でのsrc属性と同様、オブジェクトへのURIです。
現状でのwidth属性と同様、オブジェクトの横幅です。
現状でのheight属性と同様、オブジェクトの高さです。
尚、どれも必須とはならない予定です。
<embed>要素は非公認要素なので、利用した場合全ての文書型に不適合となります。
そのため、<embed>要素は必ず<object>要素に置き換えるべきとされております。
しかしながら、<object>要素の実装に問題があるため、<embed>要素は今でも使われております。
<embed>要素は現実的には空要素と見なして記述するのが一般的です。
<embed>要素を空要素としていないインターネットエクスプローラでも<object>要素の内容にしている場合などは問題無く処理されます。
一番無難な方法は、JAVAスクリプトで<object>要素が使えるかどうかを判断して、<object>要素が使えない場合に限って<embed>要素を書き下すようにすると言うやり方でしょう。
この場合、スクリプトに対応していない環境では表示出来ませんが、安全な方法ではあります。
<div><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="330" height="530"><param name="movie" value="Yuchan.swf" /><param name="quality" value="high" /><param name="menu" value="false" /><embed type="application/x-shockwave-flash" data="Yuchan.swf" width="330" height="530" /><noembed><div class="alternate"><img alt="ゆうちゃん" src="Yuchan.GIF" width="190" height="530" /></div><noembed></object></div>
ウィンドウズ版のインターネットエクスプローラでは、アクティヴ Xを<object>要素で起動する事でフラッシュを表示します。
その他のフラッシュ対応環境では、<embed>要素を用いて起動する事になります。