object要素
Updated / Published
object要素(generic embedded object)は Javaアプレット、画像(イメージ)、音声(サウンド)、動画(ムービー)などのオブジェクト(外部アプリケーション)全般をウェブページ中に埋め込んで UA で操作できるようにします。アプリケーションの実行時に必要なパラメータ値は param要素で設定します。開始タグの "<object>" と終了タグの "</object>" の間には何らかのトラブルでオブジェクトが表示できない場合や音声出力・点字出力などの非視覚環境、UA がそのオブジェクトの再生に対応していない、あるいは表示しない設定にしている環境において、そのオブジェクトの表現する情報の代替となる内容を指定します。
Internet Explorer 8からは object要素への対応が強化されていますが、IE6, 7におけるサポートが不十分なため、画像には img要素が使われており、Javaアプレットには applet要素, 音声・動画データ等には embed要素と組み合わせた状態で使われてるのが現状です(なお、embed要素はHTML4.01, XHTML1.0, XHTML1.1においては非公認な独自機能でしかありませんでしたが、HTML5では、object要素のサポートが十分でなかったために、多くのウェブページでembed要素が併用されてきた実績からembed要素が公式仕様に採用されました)。
object要素はインライン要素だけでなくブロックレベル要素も内包することができるので、ブロックレベル要素・インライン要素の両方を取ることができます。ただし、両方同時は不可能なため、インライン要素しか内包できないブロックレベル要素またはインライン要素の中で使われた場合は、インライン要素として扱われます。
align属性
- バージョン
- HTML4.01(T,F)
- XHTML1.0(T,F)
- 指定要素
- object
- 必須
- -
- 非推奨
- 非推奨
- HTML4.01 Strict 廃止
- XHTML1.0 Strict 廃止
- XHTML1.1 廃止
- 属性値
- left
- right
- top
- middle
- bottom
表示域内のどこにオブジェクトを揃えるか、その後に続くテキストの揃え方を指定します。値には次の5つのキーワードがあります。キーワードは半角アルファベットの大文字・小文字が区別されません(case-insensitive)。
- left
- オブジェクトは左に配置、その右にテキスト(複数行)が回り込む
- right
- オブジェクトは右に配置、その左にテキスト(複数行)が回り込む
- top
- オブジェクトの上辺に合わせてテキスト(1行)を上揃えに表示
- middle
- オブジェクトの垂直方向の長さの中央にテキスト(1行)を表示
- bottom
- オブジェクトの下辺に合わせてテキスト(1行)を下揃えに表示
align属性は非推奨属性のため、CSS の floatプロパティで左右の配置とその後に続くテキスト(複数行)の揃え方を、vertical-alignプロパティでテキスト(1行)との垂直方向の並びをそれぞれ代替することが推奨されています。また、回り込んだテキストを途中で解除したい場合は br要素に clear属性を指定すれば良いのですが、clear属性も非推奨属性のため、オブジェクトの後に続く要素に clearプロパティを指定するか、回り込みが指定されている要素の親要素にclearfixを用いるようにしましょう。
archive属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- URI
オブジェクトに関連づけられているアーカイブの URI を示します。アーカイブとは、複数のオブジェクトのファイルを1つにまとめた圧縮ファイル(書庫ファイル)のことです。このアーカイブを事前に読み込んでおくことで、プログラムの起動時間を短縮させ、オブジェクトの動作効率の向上につながります。複数指定する場合は、半角スペースで区切って指定します。たとえば、Javaアプレットのアーカイブ(.jar)の場合は archive="xxx.jar" "xxx.jar" のように指定します。また、codebase属性を指定した場合は、その値を基準とした相対URI で指定します(Internet Explorer のみ相対URI で参照できる機能ではなく独自の機能をもちます、classid属性を参照)。
HTML5ではarchive属性は廃止されました。
border属性
- バージョン
- HTML4.01(T,F)
- XHTML1.0(T,F)
- 指定要素
- object
- 必須
- -
- 非推奨
- 非推奨
- HTML4.01 Strict 廃止
- XHTML1.0 Strict 廃止
- XHTML1.1 廃止
- 属性値
- 整数(pixels)
オブジェクトの周りに境界線を表示させます。border属性は非推奨とされています。枠の表示指定は、CSS の borderプロパティで代替することが推奨されています。
HTML5ではborder属性は廃止されました。
classid属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- URI
Javaアプレットの classファイル(.class)を classid="java:xxx.class" の形式で指定したり、ActiveX コントロールのクラスID(識別番号)を classid="clsid:クラスID" の形式で指定します。data属性 と併用・代用が可能なので、Javaアプレット以外は data属性で指定すると良いでしょう。なお、codebase属性を指定した場合は、その値を基準とした相対URI で指定します(Internet Explorer のみ相対URI で参照できる機能ではなく独自の機能をもちます)。
Internet Explorer では、classid属性に ActiveX コントロールを埋め込むための識別番号を指定して機能します。たとえば、Flashファイルを再生できる ActiveX コントロールには Adobe の Flash Player と Apple の QuickTime がありますが、その Flashファイルが QuickTime では再現できない機能があるために Flash Player の方だけで再生させたいという場合などに指定することで、再生を Flash Player にだけに制御するように UA に働きかけることが期待されます。なお、Internet Explorer の独自機能に codebase属性でオブジェクトを再生するのに必要な ActiveX コントロールのダウンロード先の URI を指定する使い方があります(注意)。
代表的な ActiveX コントロールのクラスID(識別番号)には次のようなものがあります。
- Flash Player
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"- Windows Media Player
classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"- QuickTime
classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"- RealPlayer
classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA"- Shockwave
classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000"
HTML5ではclassid属性は廃止されました。
codebase属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- URI
classid属性, data属性, archive属性で指定された相対URI の基準となる URI を指定します。codebase属性の指定がない場合は、object要素が含まれるウェブページの URI が基準URI となります。
また、Internet Explorer の独自機能で、ActiveX コントロールのダウンロード先の URI を指定する使い方があります。しかし、Internet Explorer における codebase属性には仕様で定義されている classid属性, data属性, archive属性に指定された相対URI の基準URI となる機能の働きはありません。たとえば、Flashファイルの埋め込みに Flash Player の識別番号(classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000")にあわせて、Flash Player のダウンロード先(codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0")を指定した場合、仕様どおりの機能をもつUAでは一切オブジェクトが再生できません。これは codebase属性の値になっている ActiveX コントロールのダウンロード先の URI を classid属性, data属性, archive属性に指定された相対URI の基準URI として認識してしまうためです。このため Internet Explorer の独自機能である ActiveX コントロールのダウンロード先を指定する使い方は避けましょう。これが、obejct要素とembed要素が組み合わせて使われている事態を招いています。
HTML5ではcodebase属性は廃止されました。
codetype属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- MIME
classid属性で指定されたオブジェクトの MIMEを指定します。指定されたオブジェクトを実行する前に事前にその UA の環境下で実行可能かどうかを判断をつけるように UA に働きかけます。このため classid属性を指定した場合は、codetype属性を指定することが推奨されています。よく利用する MIMEには次のようなものがあります。
- application/x-shockwave-flash
- Flash Shockwaveファイル
Flash Videoファイル - image/gif
- GIF画像ファイル
- image/jpeg
- JPEG画像ファイル
- image/png
- PNG画像ファイル
- audio/midi
- MIDIサウンドファイル
- video/mpeg
- MPEG映像ファイル
- video/x-msvideo
- Microsoft AVIファイル
- application/java
- JAVAアプレットファイル
HTML5ではcodetype属性は廃止されました。
data属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- URI
オブジェクトの所在を URI で指定します。classid属性と併用・代用が可能で、Javaアプレットについては classid属性で指定し、それ以外のオブジェクトについていは data属性で指定すると良いでしょう。なお、codebase属性を指定した場合は、その値を基準とした相対URI で指定します(Internet Explorer のみ相対URI で参照できる機能ではなく独自の機能をもちます)。
declare属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- declare
- declare="declare"(XHTML)
オブジェクトを宣言するだけで、プログラムは実行前の待機状態になります。つまり、ページを読み込んだときに自動的にオブジェクトを実行しなくなります。そして、declare属性を指定した object要素に id属性を組み合わせれば、スクリプトを使ってユーザの操作でオブジェクトを実行する仕組みを作ることもできます。ただし現状では declare属性に対応している UA はありません。HTML4.01 では declare、XHTML では属性値を省略できないため declare="declare" と記述します。
HTML5ではcodetype属性は廃止されました。
height属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- 整数(pixels)
- パーセンテージ値(%)
オブジェクトの高さを指定します。実際のサイズよりも、サイズ指定を大きくして表示することも可能ですが、画像ファイルの場合はその画像ファイルがもつ画像解像度は変わらないため、値を大きく指定した分、画像は荒く表示されます。また、オブジェクトのサイズをあらかじめ指定しておくとことで、UA はオブジェクトの読み込みを待たずに、指定されたオブジェクトのサイズ分の領域をあけておいて、先に他の要素を表示して、ページの全体像を早く表示することができます。
hspace属性
- バージョン
- HTML4.01(T,F)
- XHTML1.0(T,F)
- 指定要素
- object
- 必須
- -
- 非推奨
- 非推奨
- HTML4.01 Strict 廃止
- XHTML1.0 Strict 廃止
- XHTML1.1 廃止
- 属性値
- 整数(pixels)
オブジェクトと周りの内容との間に水平(左右)方向の余白を設けます。余白の指定は CSS の marginプロパティで代替することが推奨されています。
name属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- 文字列
object要素がフォームのコントロール部品である場合に、連携させるために名前を指定します。コントロール名は半角アルファベットの大文字・小文字が区別されません(case-insensitive)。現状では name属性を指定することでフォームのコントロールとして連携する UA はありません。
standby属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- テキスト
オブジェクトのプログラムをダウンロードしている待ち時間に表示するメッセージを指定します。現状では standby属性に対応している UA はありません。
HTML5ではstandby属性は廃止されました。
type属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- MIME
data属性で指定されたオブジェクトの MIMEを指定します。事前にその UA の環境下でオブジェクトの実行可能かどうかの判断をつけて、サポートしていないオブジェクトであれば、そのオブジェクトを実行する前にデータをロードすることのないように働きかけます。よく利用する MIMEには次のようなものがあります。
- application/x-shockwave-flash
- Flash Shockwaveファイル
Flash Videoファイル - image/gif
- GIF画像ファイル
- image/jpeg
- JPEG画像ファイル
- image/png
- PNG画像ファイル
- audio/midi
- MIDIサウンドファイル
- video/mpeg
- MPEG映像ファイル
- video/x-msvideo
- Microsoft AVIファイル
- application/java
- JAVAアプレットファイル
usemap属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- object
- 必須
- -
- 非推奨
- -
- 属性値
- イメージマップ名
map要素で作成するクライアントサイド・イメージマップ(クリッカブルマップ)との関連づけをおこなう際に指定します。object要素で連携するイメージマップに対応しているのはFirefoxのみです(旧Presto版Operaも対応していた)。IE, Safari, Chrome, Blink版Operaは対応していません。ハッシュ(#)を前置し、usemap="#名前" という形で、map要素の name属性、または id属性の値を指定します。たとえば、map要素の name属性の値が name="map" であれば、object要素の usmap属性の値は usemap="#map" と指定します。
ただし、XHTML1.1 ではハッシュ(#)を前置する必要はありません。そのため、map要素の id属性の値が id="map" であれば、XHTML1.1 における object要素の usmap属性の値は usemap="map" と ID名だけを指定します。
vspace属性
- バージョン
- HTML4.01(T,F)
- XHTML1.0(T,F)
- 指定要素
- object
- 必須
- -
- 非推奨
- 非推奨
- HTML4.01 Strict 廃止
- XHTML1.0 Strict 廃止
- XHTML1.1 廃止
- 属性値
- 整数(pixels)
オブジェクトと周りの内容との間に垂直(上下)方向の余白を設けます。余白の指定は CSS の marginプロパティで代替することが推奨されています。
width属性
- バージョン
- HTML4.01(S,T,F)
- XHTML1.0(S,T,F)
- XHTML1.1
- 指定要素
- img
- 必須
- -
- 非推奨
- -
- 属性値
- 整数(pixels)
- パーセンテージ値(%)
オブジェクトの横幅を指定します。実際のサイズよりも、サイズ指定を大きくして表示することも可能ですが、画像ファイルの場合はその画像ファイルがもつ画像解像度は変わらないため、値を大きく指定した分、画像は荒く表示されます。また、オブジェクトのサイズをあらかじめ指定しておくとことで、UA はオブジェクトの読み込みを待たずに、指定されたオブジェクトのサイズ分の領域をあけておいて、先に他の要素を表示して、ページの全体像を早く表示することができます。