HTML

embed 要素

 embed要素は以前からプラグインの組み込みに使われてきた要素ですが、HTML4や XHTML1では規定されていない要素でした。HTML4や XHTML1でプラグインを組み込むためには object要素を使うのが妥当なのですが、古いブラウザでは動作しないという問題もあり、現在に至るまで、仕様では規定されていなかった embed要素が使われ続けて来ました。

 このような状況を踏まえ、HTML5では、正式に embed要素が仕様に入れられることになりました。これまで embed要素は正式な仕様が存在していなかったため、ブラウザ間の互換性が保証されないところもありました。この点で、HTML5で詳細に規定されることは、大きな意味があります。

 embed要素は空要素です。そのため、canvas要素や video要素のように、開始タグと終了タグの中にフォールバック・コンテンツをマークアップすることはできません。また、旧来より embed要素の代替コンテンツ用に使われてきた noembed要素は HTML5にも規定されていませんので、注意してください。実際の利用シーンでは、embed要素そのものが、object要素などのフォールバック・コンテンツとして使われます。

embed 要素の概要

カテゴリー
フロー・コンテンツ
フレージング・コンテンツ
エンベディッド・コンテンツ
インタラクティブ・コンテンツ
コンテンツ・モデル
利用可能な場所
エンベディッド・コンテンツが期待される場所
開始タグ
必須
終了タグ
禁止。
ただし、<embed /> のように終了タグを表すスラッシュを開始タグに入れる表記は可能。
要素固有の属性
src
組み込むコンテンツのアドレスを指定します。
type
プラグインの MIMEタイプを指定します。
width
組み込むコンテンツの横幅を CSSピクセルで指定します。
height
組み込むコンテンツの縦幅を CSSピクセルで指定します。
名前空間を持たない任意の属性
必要に応じて任意の属性を指定することができます。ただし、名前空間を指定することはできません。
標準的なスタイル
-

Flashを組み込む embed要素のマークアップ例


<embed src="test.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="test" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_jp" />

 この例は、Adobe社の Flash CS4を使ってパブリッシュした際に生成された HTMLから、embed要素の部分を抜き出したものです。src属性で Flashの SWFファイルの URLを指定し、width属性と height属性を使って、組み込みコンテンツの横幅と縦幅を指定しています。そして、type属性には、SWFファイルの MIMEタイプを指定しています。

 これらコンテンツ属性の他にも、いくつかの独自のコンテンツ属性があります。HTML5では、名前空間を利用しなければ、このような独自のコンテンツ属性の利用を認めています。