Ben*_*ing 5 javascript java eclipse
我正在尝试获取我编写的JavaScript函数的返回值.我可以使用涉及侦听器的非常复杂的方法来完成它,但我想使用Eclipse的Browser.evaluate方法.
作为一个玩具问题,我在Java文件中有以下代码:
Object result = this.browser.evaluate("new String(\"Hello World\")");
Run Code Online (Sandbox Code Playgroud)
其中this.browser是在一个org.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...
}
Run Code Online (Sandbox Code Playgroud)
但是,它不是result一个内容为"Hello World"的Java String null.我是否错误地使用此方法,或者它是否已损坏?
你必须在 JavaScript 中返回一个值:
Object result = browser.evaluate("return 'Hello World'");
Run Code Online (Sandbox Code Playgroud)
对我有用。
| 归档时间: |
|
| 查看次数: |
566 次 |
| 最近记录: |