4

是否可以将函数/回调从 javascript 传递到 java 小程序?

例如,我有一个带有按钮的小程序,当按下它时它将调用传递的 js 回调

function onCommand() {
  alert('Button pressed from applet');
}
applet.onCommand(onCommand);
4

3 回答 3

4

我倾向于使用从本页底部的反射示例中派生的东西,因为这样您就不需要干预您的类路径来编译它

然后我只是在小程序和 javascript 之间传递 JSON 字符串

于 2008-09-24T11:57:11.733 回答
3

您可以使用JSObject从 Java 回调到 javascript。

从该页面:

import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
class MyApplet extends Applet {
     public void init() {
         JSObject win = JSObject.getWindow(this);
         JSObject doc = (JSObject) win.getMember("document");
         JSObject loc = (JSObject) doc.getMember("location");

         String s = (String) loc.getMember("href");  // document.location.href
         win.call("f", null);                      // Call f() in HTML page
     }
}
于 2008-09-24T11:42:08.773 回答
3

附言。要使用 JSObject,您可能需要将“MAYSCRIPT”标记包含到 applet html 标记中。

于 2008-09-24T12:25:58.403 回答