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