
webview2 中 vue 项目无法接收 c# 消息的排查
在 vue 打包项目与 webview2 集成时,你遇到了 vue 项目无法接收来自 c# 发送的数据的问题。让我们深入分析这个问题并提供解决方案。
c# 代码中,你使用的 corewebview2.webmessagereceived 事件监听器可以检测来自 webview 的消息,而在前端 vue 项目中,window.chrome.webview.addeventlistener(“message”) 监听器用于接收来自 c# 的消息。
然而,当使用 vue 打包好的 index.html 时,出现了消息无法接收的现象。你猜测这是由于 index.html 页面加载延迟导致 c# 发送的消息未被 vue 监听器捕获。
立即学习“前端免费学习笔记(深入)”;
为了解决这个问题,需要在 vue 项目中添加以下代码:
// 增加这句就可以了 window.chrome.webview.postMessage("successload");// 接收C#消息:window.chrome.webview.addEventListener("message", function (event) {//...});
这行代码会向 webview 发送一条 “successload” 消息,表明 vue 项目已加载。当 c# 接收此消息后,它可以推迟发送设备列表数据,确保 vue 项目的监听器已准备就绪。这样就能保证 c# 发送的数据能够成功被 vue 项目接收。
以上就是WebView2 中 Vue 项目无法接收 C# 消息:如何解决 Vue 项目加载延迟导致消息接收失败的问题?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1497750.html
微信扫一扫
支付宝扫一扫