下面是 MainController 类 initialize(...) 方法的简单代码:
WebEngine webEngine = webView.getEngine();
webEngine.loadContent("<h1>hello</h1>"); // Successfully loaded on form
Document doc = webEngine.getDocument(); // null
为什么 doc 为空以及如何修复它?
最佳答案
正如我所评论的,您应该添加一个监听器,因为加载需要时间,一旦内容成功加载就执行:
final WebView webView = new WebView();
final WebEngine webEngine = webView.getEngine();
webEngine.getLoadWorker().stateProperty().addListener((observable, oldState, newState) -> {
if (newState == State.SUCCEEDED) {
Document doc = webEngine.getDocument();
}
});
webEngine.loadContent("<h1>hello</h1>");
//webEngine.load("http://google.ch"); // This works too
关于java - 为什么即使在 loadContent(...) 之后 Document 也是空的? - (WebView JavaFx),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32678413/