更改页面后JavaFX脚本不工作
如上所述,一旦用户单击了更改页面的内容,使用JavaFX的脚本就不再有效 hello.html更改页面后JavaFX脚本不工作,java,javascript,webview,javafx,javafx-webengine,Java,Javascript,Webview,Javafx,Javafx Webengine,如上所述,一旦用户单击了更改页面的内容,使用JavaFX的脚本就不再有效 hello.html <div onclick="app.byeBye()">bye</div> 我必须怎么做才能解决这个问题?Uluk Biy的回答是正确的,但我不能对答案发表评论。如果这有帮助的话,一定要给他竖起大拇指 在webview的引擎成功加载url后,尝试获取窗口对象并设置应用程序。即当引擎的状态为state.successed时。请参阅WebEngine的javadoc WebEng
<div onclick="app.byeBye()">bye</div>
我必须怎么做才能解决这个问题?Uluk Biy的回答是正确的,但我不能对答案发表评论。如果这有帮助的话,一定要给他竖起大拇指
在webview的引擎成功加载url后,尝试获取窗口对象并设置应用程序。即当引擎的状态为state.successed时。请参阅WebEngine的javadoc
WebEngine API页面位于此处:在webview的引擎成功加载url后,尝试获取窗口对象并设置应用程序。即当引擎的状态为state.successed时。请参阅WebEngine的javadoc。
<div onclick="app.hello()">hello</div>
public class JavaApp{
public void hello(){
//process some stuff here
setURL("/hello.html");
}
public void byeBye(){
//process some stuff here
setURL("/byebye.html");
}
private void setURL(final String uriString){
Platform.runLater(new Runnable(){
public void run(){
JSObject win = (JSObject) webViewPanel.getWebEngine().executeScript("window");
win.setMember("app", new JavaApp());
webViewPanel.loadURL(Browser.class.getResource(uriString).toExternalForm());
}
});
}
}