注:この 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,updateclassid 属性で指定された 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_07jpi-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>