调用javaTest类的 alert方法。
主要就是给浏览器对象添加一个监听,然后在页面渲染完成之后,获取到js的window对象,给window对象添加一个 属性。
破解版联系QQ 921888199
final Browser browser = new Browser();
BrowserView browserView = new BrowserView(browser);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(browserView, BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
browser.addLoadListener(new LoadAdapter() {
@Override
public void onFinishLoadingFrame(FinishLoadingEvent event) {
if (event.isMainFrame()) {
JSValue window = browser.executeJavaScriptAndReturnValue("window");
// 给jswindows对象添加一个扩展的属性
CallJava callJava = new CallJava();
window.asObject().setProperty("callJava", callJava);
}
}
});
browser.loadURL("E:/workspace48/browser/test.html");
调用方法
public class CallJava {
public void callAlert(String args) {
System.out.println(args);
}
}
function exeJava() {
try {
callJava.callAlert('调用123');
} catch (e) {
alert(e);
}
}
//调用最好使用延时器,放置还未加载完成设置好对象就调用的错误
window.setTimeout(function (){
console.log("你好啊!!!");
exeJava();
},3000)