繁体   English   中英

将JS函数传递给applet作为事件监听器

[英]Passing JS function to applet for as event listener

是否可以将函数/回调从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,您可能需要在applet html标记中包含“MAYSCRIPT”标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM