2013-07-08 51 views
0

我面臨一個問題,我需要從Java FX應用程序與瀏覽器進行通信。在此之前,我發現信息爲:Java FX liveconnect - 從FX應用程序調用javascript函數

var jsObject = netscape.javascript.JSObject.getWindow(applet); 
jsObject.call("show_alert", []); 

有了這個我可以訪問JavaScript函數。但是我的Java FX應用程序不是一個小程序(不執行JApplet)。 那麼我可以給getWindow()作爲輸入。

有何建議?

+0

我正在嘗試參考https://blogs.oracle.com/rakeshmenonp/entry/javafx_javascript – rajuthoutu

+0

你是如何運行這個應用程序?它是否嵌入在網頁中?如果沒有,你沒有機會在瀏覽器中訪問JS。 –

+0

@Andrew Thompson雅我只能訪問網頁。 – rajuthoutu

回答

0

讀,如果你的JavaFX代碼運行嵌入式web瀏覽器頁面內(即一個applet),或者是一些其他的配置還不清楚意見。但是,您應該首先使用以下內容。

JSObject jsWin = getHostServices().getWebContext(); 
if (jsWin != null) { 
    jsWin.eval("show_alert();"); 
} 

如果這不起作用,請評論什麼是不工作,具體的運行時配置是什麼。

getHostServices()是在記錄爲herehere的JavaFX Application上的方法。