Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未调用JxBrowser onScriptContextCreated_Javascript_Java_Jxbrowser - Fatal编程技术网

Javascript 未调用JxBrowser onScriptContextCreated

Javascript 未调用JxBrowser onScriptContextCreated,javascript,java,jxbrowser,Javascript,Java,Jxbrowser,我正在尝试使用JxBrowser建立一个JavaJavaScript桥。 onScriptContextCreated方法未被调用,我不确定原因 我的Java应用程序中嵌入了一个浏览器,当我单击按钮时,会出现一个窗口,上面写着“你好”,但Java控制台上永远不会打印“你好”。我在onScriptContextCreated方法中插入了调试行,它从未被命中 下面是Java代码 webBrowser.addScriptContextListener(new ScriptContextAdap

我正在尝试使用JxBrowser建立一个JavaJavaScript桥。
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控制台中