<embed>タグの解説
<embed>
は、外部コンテンツを文章の任意の位置に埋め込みます。埋め込まれたコンテンツは、ブラウザにインストールされているプラグインによって再生されるため、対応していない環境への配慮が必要となります。
本来、動画や音声などのメディアファイルを再生するには専用のソフトウェアが必要ですが、src
属性で指定ファイルを読み込むことで、ブラウザにインストールされているプラグインにデータを渡します。実際にデータを処理するのはプラグイン側になるので、インストールされていない環境も想定しておいた方が良いでしょう。
<embed>
は、かつてNetscape Navigator独自の要素でしたが、HTML5になり標準仕様に採用されました。しかし、セキュリティリスクの観点からプラグインを非推奨にするブラウザも出始めたため、このタグの出番は限られます。
コンテンツの埋め込みを行う方法は他にもあります。より多様な環境をカバーするのであれば、<object>
や<iframe>
の採用を検討すべきかもしれません。
<embed>タグの特徴
- レイアウトの初期値はインラインです。文章の改行には影響を与えません。
- 視覚的な効果は特に与えられませんが、範囲を指定すると内部にコンテンツが埋め込まれます。
- この要素は空要素です。開始タグのあとに終了タグを記述する必要はありません。
<embed>要素に指定できる属性
src
- 埋め込むリソースのURLを設定します。
type
- 再生するファイルのMIMEタイプを指定します。
width
- コンテンツを表示する領域の幅を整数のピクセル値で指定します。
height
- コンテンツを表示する領域の高さを整数のピクセル値で指定します。
- グローバル属性
- 全てのHTML要素に指定できる共通の属性です。詳細は一覧表で解説します。
- イベントハンドラ
- 全てのHTML要素に指定できるコンテンツ属性です。
<embed>要素の使い方とサンプルコード
この要素の最も基本的な書き方は以下の通りです。src
属性で埋め込むコンテンツのファイルを指定し、type
属性でメディアタイプを定め、width
属性とheight
属性で寸法を決めます。
<embed src="file" type="MIME" width="n" height="n">
<embed>
は空要素であるため、終了タグがありません。そのため代替コンテンツを用意するには、<noembed>
の併記が必要となります。ただし、この要素は標準仕様で非推奨となったため、<object>
や<iframe>
の採用が一般的となっています。
<embed src="video/sample.mp4" type="video/mp4" width="720" height="480">
<noembed>FLASHを表示するにはプラグインが必要です。</noembed>