3

<APPLET> タグを使用して HTML ページから呼び出すことはできますが、実際には Applet クラスをサブクラス化していない既存の Java コードベースを使用しています。同じ jar はブラウザ以外のコンテキストでも使用されるため、アプレットをサブクラス化しませんでした。

ここで、Java から呼び出しページの Javascript にいくつかの値を通信する必要があります。通常は JSObject を使用してこれを行いますが、私ができる限り、アプレットのサブクラスでのみ機能する JSObject.getWindow を使用する必要があります。

次のいずれかがありますか?

  • アプレットのサブクラスではないものから JSObject を使用する方法は?
  • 呼び出し元のページの Javascript に通信するための他のメカニズムはありますか?
4

3 に答える 3

3

JSObject.getWindow(this)アプレットを呼び出します。次にJSObject、通常の方法でそれを必要とするコードにを渡します。

于 2008-11-13T18:46:17.367 に答える
2

コードとブラウザ自体の間の通信を処理するには、実際にはjarファイルにアプレットを実装する必要があると思います。おそらく、非アプレットjarをクラスlibとして使用し、アプレットjarをブラウザとJavaコード間の呼び出しをプロキシする単純なラッパーにします。

于 2008-11-13T22:56:36.940 に答える
1

値を返すことの何が問題になっていますか?

JavascriptからgetElementById( "id-of-embed-tag")を使用して、Javaオブジェクトにアクセスできます。次に、そのオブジェクトで任意のパブリックメソッドを呼び出すことができます。そのメソッドによって返されるJavaオブジェクトは、Javascriptコードで使用できます。

于 2008-11-14T05:06:43.310 に答える