jxbrowser 实现java 和 js互相调用
2021/6/28 20:24:11
本文主要是介绍jxbrowser 实现java 和 js互相调用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
调用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)
这篇关于jxbrowser 实现java 和 js互相调用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现