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 はオブジェクトの読み込みを待たずに、指定されたオブジェクトのサイズ分の領域をあけておいて、先に他の要素を表示して、ページの全体像を早く表示することができます。