Electron进程间通信,可以利用 ipcMain 和 ipcRenderer 模块。
主进程与渲染进程间通信
渲染进程向主进程发送消息:1
2
3
4
5
6
7
8
9
10
11// In main process.
const {ipcMain} = require('electron')
ipcMain.on('asynchronous-message', (event, arg) => {
console.log(arg) // prints "ping"
event.sender.send('asynchronous-reply', 'pong')
})
ipcMain.on('synchronous-message', (event, arg) => {
console.log(arg) // prints "ping"
event.returnValue = 'pong'
})
主进程可以使用同步方法或者异步方法返回信息
1 | // In renderer process (web page). |
主进程也可以主动向渲染进程发送消息:
1 | // In the main process. |
1 | <!-- index.html --> |
渲染进程的监听事件回调函数中,也可以通过 event.sender 来向主进程发送消息。
渲染进程web页面与webview通信
https://electronjs.org/docs/api/webview-tag#event-ipc-message
1 | // 在渲染web页面 |
1 | // 在webview访客页接收信息,并发送信息 |