我正在尝试获取我编写的 JavaScript 函数的返回值。我可以使用涉及侦听器的非常复杂的方法来做到这一点,但我想使用 Eclipse 的Browser.evaluate方法。
作为一个玩具问题,我在 Java 文件中有以下代码:
Object result = this.browser.evaluate("new String(\"Hello World\")");
this.browserorg.eclipse.ui.part.EditorPart
在覆盖函数中扩展的类中创建createPartControl
:
public void createPartControl(Composite parent) {
// Create the browser instance and have it
this.browser = new Browser(parent, SWT.NONE);
this.browser.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
SomeEditor.this.getSite().getPage().activate(SomeEditor.this);
}
});
new ErrorReporter(this.browser);
this.browser.setUrl(Activator.getResourceURL("html/java-shim.html").toString());
...more stuff snipped...
}
但是,它不是result
内容为“Hello World”的 Java 字符串,而是null
. 我是错误地使用了这个方法,还是它坏了?