- 本文介绍: ipcRenderer(从渲染进程发送消息至主进程)
- 事件方法
ipcRenderer.on(channel, listener)ipcRenderer.once(channel, listener)ipcRenderer.removeListener(channel, listener)ipcRenderer.removeAllListeners([channel])ipcRenderer.send(channel[, arg1][, arg2][, ...])ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])
- 事件方法
本文介绍: ipcRenderer(从渲染进程发送消息至主进程)
从渲染进程到主进程的异步通信
进程: 渲染进程
ipcRenderer模块是EventEmitter类的一个实例。
它提供了几个方法,所以你可以从渲染进程(网页)发送同步和异步消息到主进程。您还可以从主流程接收回复。
事件方法
ipcRenderer.on(channel, listener)
用途:监听
channel,并调用listener(event, args...)处理新消息
channelStringlistenerFunction
ipcRenderer.once(channel, listener)
用途:一次性监听
channel,当调用listener(event, args...)处理新消息后删除监听
channelStringlistenerFunction - 一次性的listener方法.
ipcRenderer.removeListener(channel, listener)
用途:从指定
channel的监听数组中删除特定的listener
channelStringlistenerFunction
ipcRenderer.removeAllListeners([channel])
用途:删除所有监听,或指定
channel的所有监听
channelString (可选)
ipcRenderer.send(channel[, arg1][, arg2][, ...])
用途:通过
channel向主进程异步发送消息或任意参数
channelString...argsany[]
参数将在JSON内部序列化,因此不会包含函数或原型链。主进程通过用ipcMain模块侦听 channel来处理它。
ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])
用途:通过
channel向主进程同步发送消息或任意参数
channelString...argsany[]
参数将在JSON内部序列化,因此不会包含函数或原型链。主进程通过用ipcMain模块侦听 channel来处理它,并通过设置 event.returnValue 来回复。
注意:务必明确的一点是发送同步消息将阻止整个渲染进程。
ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])
用途:通过
channel向主机页面(host page)的<webview>元素发送消息或任意参数
channelString...argsany[]
类似 ipcRenderer.send ,但是事件是发往主机页面(host page)的 <webview> 元素,而不是主进程.
