1、java调用browser页面里的js
final Browser browser = new Browser(shell, SWT.FILL_WINDING);
browser.evaluate("fun()");//fun是一个定义好的js函数
2、js中调用java函数
写一个类继承BrowserFunction类
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.browser.BrowserFunction;
public class CallJava extends BrowserFunction {
public CallJava(Browser browser, String name) {
super(browser, name);
}
@Override
public Object function(Object[] arguments) {
System.err.println(arguments);
return super.function(arguments);
}
}
将这个类注册为一个回调方法:
new CallJava (browser, "myCallJava");//注意注册的回调方法名字,不要与类名相同,否则将无法正常调用(不要将名字设置为callJava)
在页面js中调用这个myCallJava方法
function fun(){
var arguments = 'abc';
myCallJava('abc');//此时执行CallJava类中的function方法,arguments为传入参数
}