Javascript 未调用JxBrowser onScriptContextCreated
我正在尝试使用JxBrowser建立一个JavaJavaScript桥。Javascript 未调用JxBrowser onScriptContextCreated,javascript,java,jxbrowser,Javascript,Java,Jxbrowser,我正在尝试使用JxBrowser建立一个JavaJavaScript桥。 onScriptContextCreated方法未被调用,我不确定原因 我的Java应用程序中嵌入了一个浏览器,当我单击按钮时,会出现一个窗口,上面写着“你好”,但Java控制台上永远不会打印“你好”。我在onScriptContextCreated方法中插入了调试行,它从未被命中 下面是Java代码 webBrowser.addScriptContextListener(new ScriptContextAdap
onScriptContextCreated
方法未被调用,我不确定原因
我的Java应用程序中嵌入了一个浏览器,当我单击按钮时,会出现一个窗口,上面写着“你好”,但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;
}
});
}
});
这是我的示例网页
<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>
函数callMe(){
发送命令2(“howdy”);
SendnCommand(“你好”);
}
函数sendnCommand 2(x){
窗口警报(x);
}
看起来此代码示例工作正常。
在本地环境中启动后,它将“设置属性”行打印到Java控制台中。当我点击“测试”按钮时,“你好”对话框出现。当我点击这个对话框上的“OK”按钮时,“commandfromsjavascript:hello”行被打印到Java控制台中