Passage de la fonction JS à l'applet comme écouteur d'événement
-
02-07-2019 - |
Question
Est-il possible de passer une fonction / un rappel de javascript à une applet java?
Par exemple, j’ai un applet avec un bouton qui, une fois pressé, appelle le rappel js passé
function onCommand() {
alert('Button pressed from applet');
}
applet.onCommand(onCommand);
La solution
J'ai tendance à utiliser quelque chose que j'ai tiré de l'exemple de réflexion au bas de cette page , car vous n'avez pas besoin de manipuler votre chemin de classe pour le compiler
Ensuite, je passe des chaînes JSON entre l'applet et javascript
Autres conseils
Vous pouvez utiliser JSObject rappeler javascript depuis Java.
À partir de cette 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
}
}
ps. Pour utiliser JSObject, vous devrez peut-être inclure "MAYSCRIPT". tag en applet tag html.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow