|
JSObject 内ではすべて static メソッドで開始されます。
public static JSObject getWindow(Applet a)
上の文は、指定されたアプレットを含むウィンドウ用の JavaScript の Window オブジェクトを表す JSObject を返します。このメソッドは java.awt.Applet だけをパラメータとして取るため、アプレットから JSObject へアクセスできますが、Bean もアプレットでない限り、Bean からアクセスすることはできません。
この Window JSObject の取得後に、アプレットは次のメソッドを使って HTML ページの DOM をナビゲートできます。
- public Object call(String methodName, Object args[])
- public Object eval(String s)
- public Object getMember(String name)
- public Object getSlot(int index)
- public void removeMember(String name)
- public void setMember(String name, Object value)
- public void setSlot(int index, Object value)
- public String toString()
Java Plug-in では、getWindow()、call()、eval()、setMember()、および getMember() だけを使用することをお勧めします。getSlot()、setSlot()、removeMember()、および toString() の実装はブラウザに依存しているため、実行結果は Java Plug-in を実行するブラウザのバージョンおよびプラットフォームにより異なります。
JSObject の使用に関する詳細は、LiveConnect のドキュメントを参照してください。
Java コードをコンパイルして JSObject を利用するためには、CLASSPATH にパッケージ netscape.javascript を含める必要があります。現在のところ、Java Plug-in 1.3 には JAR ファイル JAWS.JAR 内の netscape.javascript が含まれます。JSObject を使用するアプレットをコンパイルする場合、コンパイル前に CLASSPATH に JAWS.JAR を追加してください。
Java Plug-in 1.3 は JSObject をサポートしますが、Java 2 platform, Standard Edition v 1.3 の AppletViewer ではサポートしません。このため、JSObject を使用するアプレットは AppletViewer では動作しないか、例外が発生します。
Java Plug-in での JSObject のサポートレベル
Internet Explorer: Java Plug-in は、COM 経由で DOM にアクセスすることにより、IE 3/4 の JSObject をフルサポートします。
Netscape Navigator: Java Plug-in は、Netscape の Plug-in API 経由で DOM にアクセスすることにより、Navigator 3/4 の JSObject を制限付きでサポートします。現在、Navigator 3 では、JSObject 経由で次の JavaScript オブジェクトへアクセスできます。
- Anchor
- Document
- Element
- Form
- Frame
- History
- Image
- Link
- Location
- Navigator
- Option
- URL
- Window
Navigator 4 では、上記の JavaScript オブジェクトをすべてサポートします。さらに、次のオブジェクトもサポートします。
ここで言及されていない他のすべての JavaScript オブジェクトは未サポートであり、JSObject 経由で未サポートのオブジェクトにアクセスすると Java で例外が発生します。
異なるブラウザが同じ JavaScript オブジェクトをサポートする場合でも、JavaScript オブジェクトがサポートするメソッドおよびプロパティは異なる場合があります。詳細は、使用するブラウザ用の JavaScript 開発ガイドを参照してください。
Java Plug-in での JSObject サポートの有効化
セキュリティ上の理由から、Java Plug-in での JSObject サポートはデフォルトでは無効に設定されています。Java Plug-in で JSObject サポートを有効にするには、次に示すように、EMBED/OBJECT タグ内に新たな属性 MAYSCRIPT を設定する必要があります。
元の APPLET タグ:
|