Скрипт JavaFX не работает после смены страниц
Как отмечалось выше, когда пользователь нажимает на что-то, что изменяет страницу, сценарии с использованием JavaFX больше не работают.
hello.html
<div onclick="app.byeBye()">bye</div>
byebye.html
<div onclick="app.hello()">hello</div>
JavaApp.class
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());
}
});
}
}
Что я должен сделать, чтобы решить эту проблему?
1 ответ
Ответ от Uluk Biy правильный (но я не могу комментировать ответ). Не забудьте поднять его, если это полезно.
Попытайтесь получить объект окна и установить "приложение" после того, как механизм веб-просмотра успешно загрузит URL. А именно, когда состояние двигателя - State.SUCCEEDED. См. Javadoc WebEngine.
Страница API WebEngine находится здесь: http://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html