将 JS 函数传递给小程序作为事件监听器

发布于 2024-07-05 20:13:42 字数 211 浏览 5 评论 0原文

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

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

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

Is it possible to pass a function/callback from javascript to a java applet?

For example i have an applet with a button that when pressed it will call the passed js callback

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

放飞的风筝 2024-07-12 20:13:42

我倾向于使用从此页面,这样你就不需要干扰你的类路径来编译它

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

I tend to use something I derived from the reflection example at the bottom of this page, as then you don't need to meddle with your classpath to get it to compile

Then I just pass JSON strings around between the applet and javascript

笑脸一如从前 2024-07-12 20:13:42

您可以使用 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
     }
}

You can use JSObject to call back into javascript from Java.

From that page:

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
     }
}
葵雨 2024-07-12 20:13:42

附: 要使用 JSObject,您可能需要在小程序 html 标记中包含“MAYSCRIPT”标记。

ps. to use JSObject you may need to include "MAYSCRIPT" tag to applet html tag.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文