Можно ли передать функцию / обратный вызов из javascript в java-апплет?
Например, у меня есть апплет с кнопкой, которая при нажатии вызывает обратный вызов js
function onCommand() { alert('Button pressed from applet'); } applet.onCommand(onCommand);
Я склонен использовать что-то, полученное из примера отражения внизу этой страницы , так как тогда вам не нужно вмешиваться в ваш путь к классам, чтобы заставить его скомпилировать
Затем я просто передаю строки JSON между апплетом и JavaScript
пс. для использования JSObject может потребоваться включить тег «MAYSCRIPT» в тег html апплета.
Вы можете использовать JSObject для обратного вызова javascript из Java.
С этой страницы:
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 } }