JxBrowserを使用してJava Javascriptブリッジを設定しようとしています。 onScriptContextCreated
メソッドが呼び出されていないため、その理由がわかりません。JxBrowser onScriptContextCreatedが呼び出されていません
Javaアプリケーションにブラウザが組み込まれています。ボタンをクリックすると、「howdy」と表示されたウィンドウが表示されますが、「hello」はJavaコンソールには決して印刷されません。私はonScriptContextCreated
メソッドでデバッグ行を投げてしまい、決してヒットしません。ここで
は、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;
}
});
}
});
されており、ここで私のサンプルWebページには、このコードサンプルが正常に動作よう
<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>