J'essaye de mettre en place un pont Java Javascript en utilisant JxBrowser. La méthode onScriptContextCreated
n'est pas appelée et je ne sais pas pourquoi.JxBrowser onScriptContextCreated n'est pas invoqué
J'ai un navigateur intégré dans mon application Java et quand je clique sur le bouton, la fenêtre apparaît qui dit "howdy" mais "bonjour" n'est jamais imprimé sur la console java. J'ai jeté des lignes de débogage dans la méthode onScriptContextCreated
et il n'est jamais touché.
Voici le code Java
webBrowser.addScriptContextListener(new ScriptContextAdapter() {
@Override
public void onScriptContextCreated(ScriptContextEvent event) {
Browser browser = event.getBrowser();
JSValue window = browser.executeJavaScriptAndReturnValue("window");
System.out.println("Setting property");
window.asObject().setProperty("sendNSCommand", new JSFunctionCallback() {
@Override
public Object invoke(Object... os) {
String command = (String) os[0];
System.out.println("Command from JavaScript: " + command);
return null;
}
});
}
});
Et voici ma page web exemple
<html>
<head>
<script>
function callMe() {
sendNSCommand2("howdy");
sendNSCommand("hello");
}
function sendNSCommand2(x) {
window.alert(x);
}
</script>
</head>
<body>
<input type="button" value="test" onClick="callMe()" />
</body>
</html>