关于渲染进程间通信,ipcRenderer.sendTo接收不到消息的问题
项目是直接用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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
出现这个问题的原因是electron的版本太高了,后来换成低版本的发现是OK的,至于打包出来的没有问题就很奇怪了
之前electron版本是 4.1.5 后来改成3.0.0
使用窗口的webContents.id号就可以解决这个问题,比如 mainWindow.webContents.id,因为sendTo的函数原型中第一个参数就是webcontentid