<embed>要素(埋め込みオブジェクト)。

マルティメディアを文書中に埋め込む、<embed>要素についての解説です。

<embed>要素(埋め込みオブジェクト)・目次。

<embed>要素とは。

<embed>要素とは、文書中にマルティメディアなどのオブジェクトを埋め込む要素です。

<embed>要素を利用出来るHTML文書型。

<embed>要素非公認要素です。

従って、利用した場合はどの文書型にも不適合となります。

しかしながら、ネットスケープ, インターネットエクスプローラ, オペラ, サファリなどあらゆるグラフィカルなユーザエージェントが独自拡張として実装しております。

<embed>要素が含まれるXHTML モジュール。

<embed>要素は非公認要素のため、公式なXHTML モジュールにはいずれにも属しておりません

<embed>要素の扱い。

<embed>要素は正式な仕様が無いため不明ですが、インライン要素とするのが順当でしょう。

インターネットエクスプローラでは内容として代替コンテンツを記述出来ますが、他の実装ユーザエージェントでは内容を持たない空要素となります。

尚、当該オブジェクトが埋め込めない場合の代替コンテンツは<noembed>要素で記述する事になっております。

<embed>要素の属性。

<embed>要素は非公式ですが、現在実装されているユーザエージェントでは以下の属性が使えます。

src属性(必須)

オブジェクトのURIを指定します。

type属性

埋め込むオブジェクトのタイプを指定します。

例えば、フラッシュなら、type="application/x-shockwave-flash" 属性を附与します。

共通属性

<embed>要素で使える共通属性には

があります。

autostart属性

埋め込んだオブジェクトの自動再生を指定します。

true
自動再生します。
false
自動再生しません。閲覧者の操作で再生が始まります。

デフォルト値は多くの環境では true (自動再生する)ですが、インターネットエクスプローラの一部で特許問題から false としているものもあります。

hidden属性

埋め込んだオブジェクトをクライアント領域に描画するかどうかを指定します。

true
クライアント領域に描画します。
false
クライアント領域には描画しません。音楽などの再生では音のみが流れる事となりますが、閲覧者に都合が悪い場合が多いので慎むべきです。

デフォルト値は多くの環境では true (クライアント領域に描画する)としています。

loop属性

埋め込んだオブジェクトの再生を繰返しにするかどうかを指定します。

true
繰り返して再生します。
false
繰り返さず一回限りとします。

デフォルト値は多くの環境では false (繰り返さず一回限り)としているようです。

name属性

JAVAスクリプトがオブジェクトとして利用出来るようにするための名前です。

pluginspage属性

埋め込むオブジェクトのプラグインダウンロードページへのURIです。

プラグインがないため埋め込みに失敗した場合に、当該URIに案内出来るようにしております。

width属性(必須)
height属性(必須)

それぞれオブジェクトの横幅・高さをピクセル数またはパーセンテージ「○%」で指定します。

尚、正式な仕様ではありませんが、旧ネットスケープ社に依ればいずれも必須との事です。

align属性

align属性はオブジェクトの配置を指定します。

値には以下の五つがあります。

left
左に寄せます。後続するテキスト類は、右に廻り込みます。
right
右に寄せます。後続するテキスト類は、左に廻り込みます。
middle
オブジェクトの上下方向の中央をテキストのベースラインに合わせます。
top
上端をテキストのベースラインに合わせます。
bottom
下端をテキストのベースラインに合わせます。

尚、align="lift"属性及びalign="right"属性が与えられた<embed>要素以降のテキストの廻り込みを解除するには<br>要素のclear属性を用います。

hspace属性
vspace属性
hspace属性はオブジェクトの左右、vspace属性は画像の上下の余白をピクセル数(0以上の自然数)で指定します。

この他、オブジェクトに対応するプラグインやユーザエージェントに依り独自の属性が使える場合があります。

HTML 5で定義される<embed>要素。

現在策定中のHTML 5では、<embed>要素が正式に定義される予定です。

但し、現行の<embed>要素とは全く異なったものとなる事が予定されております。

属性としては、共通属性とされる属性の他、以下のものに絞られる予定です。

type属性

現状でのtype属性と同様、埋め込むオブジェクトのタイプを指定します。

例えば、フラッシュなら、type="application/x-shockwave-flash" 属性を附与します。

src属性

現状でのsrc属性と同様、オブジェクトへのURIです。

width属性

現状でのwidth属性と同様、オブジェクトの横幅です。

height属性

現状でのheight属性と同様、オブジェクトの高さです。

尚、どれも必須とはならない予定です。

<embed>要素に関する注意事項。

<embed>要素は使うべきではないのですが…。

<embed>要素は非公認要素なので、利用した場合全ての文書型に不適合となります。

そのため、<embed>要素は必ず<object>要素に置き換えるべきとされております。

しかしながら、<object>要素の実装に問題があるため、<embed>要素は今でも使われております。

<embed>要素はどう記述する?

<embed>要素は現実的には空要素と見なして記述するのが一般的です。

<embed>要素を空要素としていないインターネットエクスプローラでも<object>要素の内容にしている場合などは問題無く処理されます。

一番無難な方法は、JAVAスクリプトで<object>要素が使えるかどうかを判断して、<object>要素が使えない場合に限って<embed>要素を書き下すようにすると言うやり方でしょう。

この場合、スクリプトに対応していない環境では表示出来ませんが、安全な方法ではあります。

<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>要素を用いて起動する事になります。

関連項目。

しらぎくのウェブサイト作成入門サイトマップ

ページ外へのご案内。

marguerite.site@gmail.com