Electronjs ipcMain不向ipcRenderer发送消息

时间:2018-07-20 20:34:23

标签: electron

我正在尝试从ipcMain到ipcRender异步发送消息/数据,遵循那里描述的代码-https://electronjs.org/docs/api/ipc-main,在主目录中-

// In main process.
  const {ipcMain} = require('electron')
  ipcMain.on('asynchronous-message', (event, arg) => {
    console.log(arg) // prints "ping"
    event.sender.send('asynchronous-reply', 'pong')
  })

在渲染器中-

// In renderer process (web page).
  const {ipcRenderer} = require('electron')
  ipcRenderer.on('asynchronous-reply', (event, arg) => {
    console.log(arg) // prints "pong"
  })
  ipcRenderer.send('asynchronous-message', 'ping')

它成功地将消息从渲染器发送到main,但是main假定将消息发送回renderer,但是没有。

我也尝试过webContents发送消息,但没有成功-

win.webContents.send('asynchronous-reply', 'pong1')

我正在使用节点8.9.3,Chrome 61.0.3163.100,Electron 2.0.5和macOS 10.13.3。详细信息-https://github.com/electron/electron/issues/13743

感谢任何帮助。谢谢

1 个答案:

答案 0 :(得分:1)

感谢@ancode。弄清楚了,从 Renderer 发送到 Main 的消息正在终端控制台中打印,并且从 Main 发送到渲染器正在 Web开发控制台中打印(作为一个新的电子开发人员,我完全错过了它,希望终端控制台中的所有消息都可以显示)