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 をロードします。