2014-09-01 82 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

試圖讓窗口對象和web視圖的引擎後置「應用」成功加載的URL。即當引擎的狀態是State.SUCCEEDED時。請參閱WebEngine的javadoc。 – 2014-09-01 07:10:58

回答

0

通過回答Uluk Biy是正確的(但我不能作出評論的答案)。如果這有幫助,一定要大拇指。

嘗試獲取窗口對象並在webview的引擎成功加載url之後設置「app」。即當引擎的狀態是State.SUCCEEDED時。請參閱WebEngine的javadoc。

的WebEngine API頁面是在這裏:http://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html