关于渲染进程间通信,ipcRenderer.sendTo接收不到消息的问题

发布于 2022-09-11 23:24:58 字数 441 浏览 10 评论 0

项目是直接用electron-vue生成的,然后在index.js new了一个mainWindow和一个mainWindow的子窗口

定义了全局变量获取两个窗口的弹窗,然后写了一个简单的demo
main窗口放一个按钮点击发送信号
// 子窗口id是通过global获取的
ipcRenderer.sendTo(子窗口id, channel, 'test')

子窗口接收
接收的ipcRenderer.on 放在create()里面
然后运行一直接收不到,用npm run build打包出来的程序运行是可以接收到的
我看github上部分这样用的项目也是这样通信的,但是我down下来运行也是运行不了,而且我在windows和mac机上都不行,网上基本没找到答案
所以请问有没有碰到过类似情况解决了的,或者哪个大佬能帮忙解答一下的
看别人也是这么写的,我运行就不行,感觉是缺什么。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爺獨霸怡葒院 2022-09-18 23:24:58

出现这个问题的原因是electron的版本太高了,后来换成低版本的发现是OK的,至于打包出来的没有问题就很奇怪了
之前electron版本是 4.1.5 后来改成3.0.0

拥有 2022-09-18 23:24:58

使用窗口的webContents.id号就可以解决这个问题,比如 mainWindow.webContents.id,因为sendTo的函数原型中第一个参数就是webcontentid

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文