将JS函数传递给applet作为事件监听器
-
02-07-2019 - |
题
是否可以将函数/回调从javascript传递到java applet?
例如,我有一个带有按钮的applet,当按下它时会调用传递的js回调
function onCommand() {
alert('Button pressed from applet');
}
applet.onCommand(onCommand);
解决方案
我倾向于使用我从此页面底部的反射示例中获得的内容,因为那样你就不需要插入类路径来编译它了
然后我只是在applet和javascript之间传递JSON字符串
其他提示
您可以使用 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
}
}
PS。要使用JSObject,您可能需要包含“MAYSCRIPT”和“MAYSCRIPT”。标记为applet html标记。
不隶属于 StackOverflow