我需要从 java 运行一个 javascript 函数并将响应保存在一个变量中。我写了以下代码,但它不起作用:
public Object execute(String value) {
SwingUtilities.invokeLater(() -> {
new JFXPanel();
Platform.runLater(() -> {
WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.setJavaScriptEnabled(true);
Object response = webEngine.executeScript(value);
Platform.exit();
});
});
return response;
}
我使用“WebView”是因为我的 javascript 代码使用了“window”、“document”和库等函数,因为“ScriptEngineManage”在我的情况下不起作用。
我怎么解决这个问题?我的代码有效,但在executeScript
结束之前返回“响应”。