Microsoft Windows プラットフォームで稼動する Internet Explorer で Java Plug-in を使用するには、OBJECT タグを使用します。 以下に、APPLET タグを Java Plug-in タグにマッピングする方法を示します。
元の APPLET タグ
<APPLET code="XYZApp.class" codebase="html/" align="baseline"
width="200" height="200">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
No Java 2 SDK, Standard Edition v 1.4 support for APPLET!!
</APPLET>
|
この例および以降の例の codebase 属性に示す URL は、単なるサンプルです。指定された URL には、cab ファイルは存在しません
新規 OBJECT タグ
<OBJECT classid="clsid:CAFEEFAC-0014-0000-0000-ABCDEFFEDCBA"
width="200" height="200" align="baseline"
codebase="http://java.sun.com/jpi/jinstall-14-win32.cab#Version=1,4,0,mn">
<PARAM NAME="code" VALUE="XYZApp.class">
<PARAM NAME="codebase" VALUE="html/">
<PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.4">
<PARAM NAME="model" VALUE="models/HyaluronicAcid.xyz">
<PARAM NAME="scriptable" VALUE="true">
No Java 2 SDK, Standard Edition v 1.4 support for APPLET!!
</OBJECT>
|
OBJECT タグには、APPLET タグと同様の情報が含まれることに注意してください。 Internet Explorer で Java Plug-in を起動するには、これで十分です。 OBJECT タグ内の classid は、Java Plug-in 自体のクラス識別子です。このクラス識別子は、すべての HTML ページで同じである必要があります。Internet Explorer が OBJECT タグ内のこのクラス識別子を描画する場合、Java Plug-in をブラウザ内にロードしようとします。
OBJECT タグには、幅、高さ、位置合わせなどの属性が存在します。これらの属性は、APPLET タグの対応する属性から直接マッピングされます。Internet Explorer は、これらの属性に含まれる書式情報を使用して、Java Plug-in の位置を決定します。 この情報は、変更されることなく直接マッピングされるため、Java Plug-in を使用するアプレットと APPLET タグを使用するアプレットの位置および外観は同じはずです。
APPLET タグ内の属性をすべて、 OBJECT タグ属性にマッピングできるわけではありません。 たとえば、APPLET タグの code 属性および codebase 属性は、OBJECT タグ属性にはマッピングされません。 一方、code 属性は、 PARAM の code にマッピングされます。これは、HTML 仕様では、OBJECT タグに code 属性が存在しないためです。 OBJECT タグ属性に対応しない属性は、ほかにも存在します。 これらの属性と 1 つの例外属性は、 PARAM タグにマッピングする必要があります。
OBJECT タグでは、重複するパラメータ名を使用してはなりません。
ここで 1 つの例外となるのは、codebase 属性です。APPLET タグでは、codebase 属性は追加クラスおよび jar ファイルのダウンロード元の場所を表します。一方、OBJECT タグでは、codebase 属性は、ローカルマシンで Java Plug-in が検出されなかった場合の Java Plug-in のダウンロード元の場所を表します。 codebase 属性は、APPLET タグと OBJECT タグとで異なる意味を持つため、この属性を OBJECT タグの PARAM タグの codebase 属性にマッピングして、この競合を解決する必要があります。
上の例では、APPLET タグの code 属性および codebase 属性は、OBJECT タグのパラメータにマッピングされます。PARAM の code には、アプレットを指定し、この値は、APPLET タグ内の code 属性と同じにする必要があります。 PARAM の codebase には、アプレットの codebase を指定します。 Java Plug-in は、パラメータからアプレットのダウンロード先を読み取ることができます。 パラメータタイプは、APPLET タグからはマッピングされません。OBJECT タグにパラメータタイプを指定する必要があります。 Java 実行可能ファイルのタイプ (アプレットなど) を認識することにより、Java Plug-in は Java 実行可能ファイルの初期化方法を識別します。 上の例の 3 つの PARAM タグ (code、codebase、および type) は、Java Plug-in により指定されています。これらのタグは、元の APPLET タグの PARAM 内には存在しません。 OBJECT タグ内の model パラメータが、APPLET タグ内の model パラメータと同一であることに注意してください。 Java Plug-in で指定されている最初の 3 つのパラメータ (code、codebase、および type) を除く、残りのパラメータは、APPLET タグ内部のパラメータと同じです。
Java Plug-in 1.3 から、新たに PARAM scriptable タグが追加されました (Java Plug-in 1.4 でも有効)。 このタグの追加により、JavaScript や VBScript を必要としないアプレットのパフォーマンスが改善されます。 アプレットがスクリプト作成によるサポートを必要とする場合は値を true に、必要としない場合は false に設定します。 デフォルト値は、false です。
PARAM scriptable と PARAM Mayscript は同じではないことに注意してください。 Mayscript は Java アプレットから JavaScript への通信のみをサポートするのに対し、scriptable は Internet Explorer での JavaScript から Java アプレットへの通信のみをサポートします。
「No Java 2 SDK, Standard Edition v 1.4 support for APPLET!!」というテキストは APPLET タグ内にあり、 <OBJECT> タグと </OBJECT> タグの間にマッピングされています。本来、これは、ブラウザが Java をサポートしない場合にのみ表示されるテキストです。これを OBJECT タグの内部にマッピングすると、ブラウザが OBJECT タグをサポートしない場合にこのテキストが表示されます。
APPLET タグと OBJECT タグの属性マッピングは次のようになります。
|
属性 |
APPLET タグのサポート |
OBJECT タグのサポート |
OBJECT タグの属性のマッピング先 |
|---|---|---|---|
|
ALIGN |
O |
O |
ALIGN 属性 |
|
ALT |
O |
|
|
|
ARCHIVE |
O |
|
archive パラメータ |
|
CODE |
O |
O |
code パラメータ |
|
CODEBASE |
O |
O |
codebase パラメータ |
|
HEIGHT |
O |
O |
HEIGHT 属性 |
|
HSPACE |
O |
O |
HSPACE 属性 |
|
NAME |
O |
O |
NAME 属性、NAME パラメータ |
|
OBJECT |
O |
|
object パラメータ |
|
TITLE |
O |
O |
TITLE 属性 |
|
VSPACE |
O |
O |
VSPACE 属性 |
|
WIDTH |
O |
O |
WIDTH 属性 |
|
MAYSCRIPT |
O |
O |
MAYSCRIPT パラメータ |
OBJECT タグに固有の属性もいくつかあります。EMBED タグに固有の属性は次のとおりです。
|
属性/パラメータ |
OBJECT タグ内の意味 |
|---|---|
|
classid 属性 |
動的バージョンサポートの場合、常に同じ値 (clsid:8AD9C840-044E-11D1-B3E9-00805F499D93) を保持する。静的バージョンサポートの場合、バージョン固有の値 (たとえば、clsid:CAFEEFAC-0014-0000-0000-ABCDEFFEDCBA) を保持する 注:この節に示す例では、動的バージョンサポートを使用します。 |
|
codebase 属性 |
ネットワーク上の CAB ファイルを指す絶対 URL。デフォルトでは、Java Software Web サイトのバイナリを指す |
|
type パラメータ |
Java アプレットの場合、値は “application/x-java-applet;jpi-version=1.4” または “application/x-java-applet”。JavaBeans コンポーネントの場合、値は “application/x-java-bean;jpi-version=1.4” または “application/x-java-bean” |
|
codebase パラメータ |
アプレットのベース URL を指定する。 この属性は省略可能 |
|
code パラメータ |
Java アプレットまたは JavaBeans コンポーネントの名前を指定する。同じ OBJECT タグの内部で object パラメータとともに使用することはできない |
|
scriptable パラメータ |
JavaScript または VBScript を使用して、HTML ページからアプレットをスクリプト処理できるかどうかを指定する。true または false を指定できる。この属性は Java Plug-in 1.4 で新たに導入された |
|
object パラメータ |
直列化された Java アプレットまたは JavaBeans コンポーネントの名前を指定する。同じ OBJECT タグの内部で code パラメータとともに使用することはできない。この属性は省略可能 |
|
archive パラメータ |
Java アーカイブの名前を指定する。この属性は省略可能 |
|
mayscript パラメータ |
アプレットに netscape.javascript.JSObject へのアクセスを許可するかどうかを指定する。true または false を指定できる。この属性は省略可能 |
元の APPLET タグが PARAM type、 codebase、code、object、または archive を保持する場合、パラメータ名が重複するため、OBJECT タグへのマッピングで問題が発生します。 これを回避するため、Java Plug-in は次のパラメータ名セットも別途サポートします。
|
元のパラメータ名 |
新しいパラメータ名 |
|---|---|
|
code |
java_code |
|
codebase |
java_codebase |
|
archive |
java_archive |
|
object |
java_object |
|
type |
java_type |
これらの新しいパラメータ名は、必要な場合にのみ使用してください。1 つの OBJECT タグに新しいパラメータ名と元のパラメータ名の両方が存在する場合、Java Plug-in は常に新しいパラメータ名に関連付けられた値を使用してアプレットまたは JavaBean をロードします。