ブラウザの拡張機能
(plug-in,ActiveX,JVM)

1。HTTP手順(概略)

 リンクをクリックしたりして、Webページを表示しようとすると、ブラウザは複雑な手順でデータを取得してくる。大きくわけると、
 1)まず名前解決をする。
 2)つぎにテキストデータを取ってくる。
 3)最後に部品となる要素のデータをとってくるのである。
  → 参考:HTTP手順の概略

 たとえば、画像は部品である。IMGタグで指定されたデータを取得することになる。また、Embedタグで指定されるplug-inデータや、Objectタグで指定されるActiveXコントロールについて解説する。

2。ブラウザの基本的表示機能

1)基本データの表示
 文字データ(.html)、イメージデータ(.gif, .jpg)は、そのまま解釈し、表示できる。

<img src="image/httpProtocol.gif">
 しかし、最近気になるイメージ形式のデータ(.png, .mng)を表示するには、次項のpluginが必要になるでしょう。
2)組込済みの機能
 ブラウザ組込済みのJVM(java vertual machine)で、Javaアプレットを動かすことができる。
例(JavaAppletの表示):

<APPLET  CODEBASE = "."  CODE     = "Sample.class"
    NAME     = "TestApplet"  WIDTH    = 400  HEIGHT   = 300>
   <param name="border" value="3">
   <param name="border-color" value="red">
</APPLET>
ただし、ブラウザ組込み済みのものは、バージョンが古い。新しいバージョンにするには、次項のPluginとして組み込む必要がある。

3。plug-in機能

 上記の基本的表示機能以外は、plug-inを利用して表示させる。
例(QuickTimeムービーの表示):

<EMBED src="sample.mov" width="160" height="144"
    PLUGINSPACE="http://www.apple.com/quicktime/download/">
</EMBED>

4。ActiveXコントロール

 Windows OSでは、ActiveXコントロールを組み込むこともできる。
例:

<OBJECT CLASSID="clsid:02BF...略...DC6B" width="160" height="144"
    CODEBASE="http://www.apple.com/quicktimex/qtplugin.cab">
   <param name="src" value="sample.mov">
   <param name="autostart" value="true">
</OBJECT>

5。混合型

 なんと、Windows OSでのInternet Explore 5.5 以降は、Plugin機能を止めてしまった(サポートしなくなった)。最新版IE on Winでは、ActiveXコントロールだけを解釈して実行することができる。ところが、Macintosh上のIEは、依然としてplug-in機能をもつし、Netscape Navigaterは、WinでもMacでもplug-in機能をもっている。この混在性のため、次のような2つの問題が発生する。

(1)Plug-inとの混在
 まず、ふつうのPluginはどうなるのか、という問題(その1)である。たとえば、QuickTimeムービーを表示するには、もともとPluginが必要であった。しかし、IE on Winのために、特別にEmbedタグをObjectタグで包むように、混合して用いる必要があります。
例1(QuickTimeムービーの表示):

<OBJECT CLASSID="clsid:02BF...略...DC6B" width="160" height="144"
    CODEBASE="http://www.apple.com/quicktimex/qtplugin.cab">
   <param name="src" value="sample.mov">
   <param name="autostart" value="true">
 <EMBED src="sample.mov" width="160" height="144"
     PLUGINSPACE="http://www.apple.com/quicktime/download/">
 </EMBED>
</OBJECT>
参考:apple社 http://www.apple.co.jp/quicktime/


(2)Javaアプレット
 さて、Javaアプレットを表示するには、もともとappletタグがあるので、これを使えばよい。一応は「どのブラウザでも」動かすことができる。しかし、そのままでは、古いJava開発環境で作成したアプレットが動くだけである。Java2などの最新版(とくにswing部品)で開発したアプレットは、ふつうのブラウザの組込みJVMでは動きません。ここでの問題(その2)は、ブラウザ組込み済みのJVMは、いつも古いものだということです。
 したがって、Java2などの最新版(とくにswing部品)で開発したアプレットをブラウザに表示してもらうには、最新版JVMをActiveXコンポーネントまたはplug-inとして、ブラウザに組込んでもらう必要があります。そのため、上記と同じように、IE on Winのために、特別にEmbedタグをObjectタグで包むように、混合して用いる必要があります。

例2(Javaアプレットの表示):

<OBJECT CLASSID="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="160" height="144"
    CODEBASE="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
 <PARAM NAME="code" VALUE="Sample.class">
 <PARAM NAME="codebase" VALUE="html/">
 <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
<COMMENT>
 <EMBED type="application/x-java-applet;version=1.3" width="200"
  height="200" align="baseline" code="Sample.class"
  codebase="html/" model="models/HyaluronicAcid.xyz"
  pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html">
 <NOEMBED>
 </COMMENT>
    No Java 2 SDK, Standard Edition v 1.3 support for APPLET!!
 </NOEMBED></EMBED>
</OBJECT>
参考:Sun社 http://java.sun.com/products/plugin/
  または、同サイト内検索:キーワード「Plugin html tag」。

 しかし、古い技術で開発したJavaアプレットは、こんな苦労は必要ありません。appletタグを使えば良いのです。が、しかし、そんなことでいいのか、新技術を使わなくてもいいのか、迷うところですね。