2013-07-08 128 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上的方法。