注:この Java Plug-in ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。
applet
、object
、および embed
タグの使用
この章では、次のトピックについて説明します。
この章では、HTML 作成者に、applet
、object
、および embed
タグをいつどのように使用して Java アプレットを Web ページに追加するかについて説明します。また、インターネットやイントラネットでのアプレットの配備に関するガイドラインと、異なるブラウザで使用するためのガイドラインを示します。
アプレットの配備方法は、ユーザーが Web ページにインターネットまたはイントラネットのいずれでアクセスするか、およびユーザーが使用するブラウザのタイプによって異なります。ユーザーに関するこの情報に注意して、次の全般的なガイドラインに従ってください。
アプレットを次のように配備します。
アプレットを次のように配備します。
ブラウザが混在する環境でアプレットを配備する場合は、セクション「ブラウザが混在する環境でのアプレットの配備」のガイドラインに従ってください。
applet
タグの使用applet タグを使用して、マルチブラウザ環境にアプレットを配備します。
applet
タグの詳細は、「W3 HTML specification」を参照してください。
注:HTML 仕様では、applet
タグは推奨されておらず、代わりに object
タグを使用することが推奨されています。ただし、ブラウザが object
タグを実装して Java アプレットをサポートする方法に関してこの仕様は明確ではなく、現在のところ一貫性のあるブラウザサポートは行われていません。このため、すべてのプラットフォームのブラウザに Java アプレットを配備するための一貫性のある方法として、applet
タグを継続して使用することをお勧めします。
applet
タグの例を次に示します。
<applet code=Applet1.class width="200" height="200"> Your browser does not support the <code>applet</code> tag. </applet>
Internet Explorer と Mozilla ファミリのブラウザの両方について、Java Plug-in がインストールされている場合 (バージョン 1.3.1_01a 以降)、インストールされているもっとも上位のバージョンの Java Plug-in が、アプレットを実行するために呼び出されます。
注:JRE がローカルにインストールされていない場合に JRE を自動的にダウンロードするために、 |
object
タグの使用object
タグを使用して、Internet Explorer でのみ使用されるアプレットを配備します。object
タグの詳細は、「W3 HTML specification」を参照してください。object
タグの例を次に示します。
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200"> <PARAM name="code" value="Applet1.class"> </OBJECT>
classid
属性は、使用する Java Plug-in の最小バージョンを識別します。
次に示す例は、classid
属性のもっとも一般的に使用される形式です。この例では、インストールされているもっとも上位のバージョンの Java Plug-in を使用するように Internet Explorer に指示します。
classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
classid
属性の別の形式を次に示します。
classid="clsid:CAFEEFAC-xxxx-yyyy-zzzz-ABCDEFFEDCBA"
この形式では、「xxxx」、「yyyy」、および「zzzz」は、使用する Java Plug-in の最小バージョンを識別する 4 桁の数字です。たとえば、Java Plug-in バージョン 1.6
を使用するには、次のように指定します。
classid="clsid:CAFEEFAC-0016-0000-0000-ABCDEFFEDCBA"
オプションの codebase
属性を使用して、JRE をダウンロードするかどうか、およびその方法を指定します。
codebase
属性には、次の 2 つの形式があります。
codebase=<URL>
classid
属性によって指定された JRE がローカルにインストールされていない場合に、ユーザーは指定された URL から JRE をダウンロードすることを求められます。codebase=<URL>#Version=major,minor,micro,update
classid
属性で指定された JRE のバージョンよりも上位の場合に、ユーザーは指定された URL から JRE をダウンロードすることを求められます。codebase
属性を使用して、Sun Java Web サイトからの自動ダウンロードを設定する方法の例を、次に示します。
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200" codebase="http://java.sun.com/products/plugin/autodl/
jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"> <param name="code" value="Applet1.class"> </object>
注:この例では、codebase=http://java.sun.com ...
の行は読みやすくするために分割されています。実際の HTML ファイルでは長い 1 行になります。
Sun では、JRE インストーラの各バージョンを Microsoft キャビネット (.cab
) ファイル形式にパッケージしています。これらのリリースおよび対応する .cab
ファイル名のリストを表示できます。
embed
タグの使用embed
タグを使用して、Mozilla ファミリのブラウザでのみ使用されるアプレットを配備します。
embed
タグの例を次に示します。
<embed code="Applet1.class" width="200" height="200" type="application/x-java-applet;version=1.6" pluginspage="http://java.sun.com/javase/downloads/ea.jsp"/>
type 属性は、次の 2 つの形式のいずれかです。
type="application/x-java-applet;version=1.6"
application/x-java-applet;version=1.6
がアプレットを実行するために呼び出されます。指定されたバージョン番号以上のバージョンの JRE がローカルにインストールされている場合は、その JRE が呼び出されます。それ以外の場合は、pluginspage
属性の値として指定された URL にユーザーをリダイレクトします。type="application/x-java-applet;jpi-version=1.5.0_07
jpi-version
の値 (この例では、1.5.0_07) によって指定された更新バージョンの JRE が、アプレットを実行するために呼び出されます。それ以外の場合は、pluginspage
属性の値として指定された URL にユーザーをリダイレクトします。次の 2 つの方法のいずれかで、Internet Explorer と Mozilla ファミリのブラウザの両方のユーザーにアプレットを配備できます。
Pure HTML アプローチを使用してブラウザが混在する環境でアプレットを配備する場合は、次のことに注意してください。
Internet Explorer
object
タグを認識するcomment
タグの内容を無視するclassid
属性が付いた object
タグを無視するcomment
タグの内容を解釈するHTML ページの次のコード例を検討してください。
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" <param name="code" value="Applet1.class"> <comment> <embed code="Applet1.class" type="application/x-java-applet;version=1.6"> <noembed> No Java Support. </noembed> </embed> </comment> </object>
前述した Pure HTML アプローチを使用する代わりに、JavaScript を使用してブラウザが混在する環境でアプレットを配備できます。
JavaScript を使用して、次の手順を実行します。
変数を使用して、ユーザーのブラウザを検出します。appName
document.write()
メソッドを使用して、appName
変数の値に基づいてタグを記述します。
ブラウザ名が「Mozilla」の場合、embed
タグを記述します。
ブラウザ名が「Microsoft Internet Explorer」の場合、object
タグを記述します。
次の例では、document.write()
メソッドは、ユーザーごとにオンザフライで embed
または object
タグを出力します。
<html> <script language="Javascript"> var _app = navigator.appName; if (_app == 'Mozilla') { document.write('<embed code="Applet1.class"', 'width="200"', 'height="200"', 'type="application/x-java-applet;version=1.5.0">'); } else if (_app == 'Microsoft Internet Explorer') { document.write('<OBJECT ', 'classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"', 'width="200"', 'height="200">', '<PARAM name="code" value="Applet1.class">', '</OBJECT>'); } else { document.write('<p>Sorry, unsupported browser.</p>'); } </script> </html>