Java ScriptEngineManager和DOM

时间:2013-05-23 15:21:20

标签: java javascript dom scriptengine

是否有人知道任何理解/包含ScriptEngineDOMwindow等隐含document个对象的Java self?我不能使用JavaFX WebEngine因为我没有开发JavaFX应用程序。

3 个答案:

答案 0 :(得分:1)

不完全回答你的问题

但是我们使用了Qt的WebView,它提供了类似浏览器的功能。它与JavaFX WebEngine相同。 PhoneGap还为移动设备提供webview。

那么请正确澄清您想要添加脚本引擎的情况吗?

请参阅与Qt相关的基本信息的链接 http://www.slideshare.net/QT-day/qt-webkit

答案 1 :(得分:0)

没有办法。 JVM中的'window'和'document'等DOM变量没有意义。

创建了Java ScriptEngine,因此您可以“编写”通常在普通java中执行的逻辑。

答案 2 :(得分:0)

其中一个解决方案是使用Envjs。按照这个example如何嵌入Java应用程序。现在我可以使用document.titledocument.getElementById('embed_rhino_dojo_shell').innerHTML

import org.mozilla.javascript.Context;
import org.mozilla.javascript.ContextFactory;
import org.mozilla.javascript.tools.shell.Global;
import org.mozilla.javascript.tools.shell.Main;
...
Context cx = ContextFactory.getGlobal().enterContext();
cx.setOptimizationLevel(-1);
cx.setLanguageVersion(Context.VERSION_1_5);
Global global = Main.getGlobal();
global.init(cx);
Main.processSource(cx, "path/to/your/JSfile");
cx.evaluateString(...);