【问题标题】:Electronjs ipcMain doesn't send message to ipcRendererElectronjs ipcMain 不向 ipcRenderer 发送消息
【发布时间】:2018-12-29 04:55:36
【问题描述】:

我正在尝试将消息/数据从 ipcMain 异步发送到 ipcRender,按照那里描述的代码 - https://electronjs.org/docs/api/ipc-main,在 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')

它成功地从渲染器向主发送消息,但主假设将消息发送回渲染器但它没有。

我也尝试过 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

感谢任何帮助。谢谢

【问题讨论】:

  • 只是为了确保:您是否在 devtools 控制台中检查了“pong”的打印?
  • 是的,我使用 win.webContents.openDevTools() 开启了开发工具

标签: electron


【解决方案1】:

感谢@ancode。弄清楚了,从 Renderer 发送到 Main 的消息正在 Terminal Console 中打印,而从 Main 发送的消息则发送到RendererWeb Dev Console 中打印(作为一个新的电子开发人员,我完全错过了它,期待终端控制台中的所有消息)

【讨论】:

    猜你喜欢
    • 2020-11-11
    • 2018-05-15
    • 2021-08-01
    • 2021-11-02
    • 2021-11-29
    • 2019-08-11
    • 2018-10-03
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多