2014-09-01 6 views
0

Как уже отмечалось выше, как только пользователь нажимает на что-то, что изменяет страницу, скрипты с использованием 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

Try, чтобы получить объект окна и установить «приложение» после того, как двигатель WebView в загружает URL успешно. А именно, когда состояние двигателя является State.SUCCEEDED. См. Javadoc WebEngine. –

ответ

0

Ответа на этот вопрос Uluk Biy (, но я не могу ответить на комментарии). Не стесняйтесь, если это поможет.

Попытайтесь получить объект окна и установить «приложение» после того, как двигатель веб-браузера успешно загрузит URL-адрес. А именно, когда состояние двигателя является State.SUCCEEDED. См. Javadoc WebEngine.

API-интерфейс страницы WebEngine здесь: http://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html