首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX WebView / WebEngine

JavaFX WebView / WebEngine
EN

Stack Overflow用户
提问于 2015-01-08 20:39:01
回答 1查看 331关注 0票数 1

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

代码语言:javascript
复制
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
            }
        }
    }
});

这通常是正确运行的,但是,当我使用自己的创建一个 WebView并在第二个页面上尝试并执行foo2()时,大约与第一个页面上的执行foo1同时执行时,我得到如下结果:

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

我可以有一个同步块,但似乎没有必要,因为webEngines应该是独立的,还有其他解决方案吗?

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 16:30:47

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

2 WebViews在同一时段竞争,而且.假设您没有实现协议和会话处理程序,包括cookie存储等等.第二个无法获得连接的far引擎将在不存在的东西(就webengine而言)上运行脚本,因此是一个未定义的对象。因此,错误。

我在HTTPS协议上使用这些东西,并且经历过这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27849105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档