从Java调用JavaScript时出错
我试图从Java调用JavaFx WebView中的JavaScript,但我得到:
线程“JavaFX Application Thread”中的exceptionnetscape.javascript.JSException:TypeError:undefined不是函数 at com.sun.webkit.dom.JSObject.fwkMakeException(JSObject.java:128) at com.sun.webkit.WebPage.twkExecuteScript(Native Method) at com.sun.webkit.WebPage.executeScript(WebPage.java:1439) 在javafx.scene.web.WebEngine.executeScript(WebEngine.java:982)
.java文件
private WebView emailSubject() { String pageURL = "D:myproject\\src\\resources\\WEB_INF\\forms\\readMail\\emailBody.html"; pageURL = pageURL.replace("\\", "/"); webView = new WebView(); webView.setMaxHeight(52); webEngine = webView.getEngine(); emailSubject = getHTMLMailSubject(); webEngine.getLoadWorker().stateProperty().addListener((ov, oldState, newState) -> { if (newState == State.SUCCEEDED) { webEngine.executeScript("testCheckMate(\"" + emailSubject + "\");"); } }); webEngine.load("file:" + pageURL); return webView; }
指向此行的exception:
webEngine.executeScript("testCheckMate(\"" + emailSubject + "\");");
HTML:
Home Alone
$(document).ready(function() { window.testCheckMate = function (data) { $(".panel-title" ).append(data); }; });
我究竟做错了什么? 谢谢大家。
请注意我尝试过:
load();
已经
$(".panel-title" ).load(data);
以及
testCheckMate
在$(document).ready(function()
,但仍然没有。
testCheckMate = function (data) { $(".panel-title" ).load(data); };