Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
javafxwebview/WebEngine_Webview_Javafx_Java 8_Javafx Webengine - Fatal编程技术网

javafxwebview/WebEngine

javafxwebview/WebEngine,webview,javafx,java-8,javafx-webengine,Webview,Javafx,Java 8,Javafx Webengine,我有一个JavaFXWebView,它正在用后台消息进行更新,并执行脚本来更新页面 webEngine.getLoadWorker().stateProperty().addListener( new ChangeListener<State>() { public void changed(ObservableValue ov, State oldState, State newState) { if (newState == State.SUCCEED

我有一个
JavaFX
WebView
,它正在用后台消息进行更新,并执行脚本来更新页面

webEngine.getLoadWorker().stateProperty().addListener(
  new ChangeListener<State>() {
    public void changed(ObservableValue ov, State oldState, State newState) {
        if (newState == State.SUCCEEDED) {
            try {
                webEngine.executeScript("foo1();");  
            } catch (Exception e) {
                // JSException: TypeError: 'undefined' is not a function
            }
        }
    }
});
webEngine.getLoadWorker().stateProperty().addListener(
新的ChangeListener(){
公共无效已更改(ObservalEvalue ov、State oldState、State newState){
if(newState==State.successed){
试一试{
executeScript(“foo1();”);
}捕获(例外e){
//JSException:TypeError:“未定义”不是函数
}
}
}
});
这通常运行正常,但是当我使用自己的
WebEngine
创建第二个
WebView
并尝试在该第二个页面上执行
foo2()
,与在第一个页面上执行
foo1
几乎同时,我得到以下结果:

JSException:TypeError:“未定义”不是函数


我可以有一个同步块,但它似乎应该是不必要的,因为Web引擎应该是独立的,有其他解决方案吗?

这是程序中的会话管理错误

2个网络视图竞争同一会话,并且。。。假设您尚未实现协议和会话处理程序,包括cookie存储等,则无法获得连接的第二个webengine将在不存在的对象(就webengine而言)上运行脚本,因此是一个未定义的对象。。这就是错误


我在HTTPS协议上使用这些东西,我也经历过这一点。

你真的应该使用更具描述性的标题