PHP
·
发表于 5年以前
·
阅读量:8416
// In the main process.
const {app, BrowserWindow} = require('electron')
let win = null
app.on('ready', () => {
win = new BrowserWindow({width: 800, height: 600})
win.loadURL(`file://${__dirname}/index.html`)
win.webContents.on('did-finish-load', () => {
win.webContents.send('ping', 'whoooooooh!')
})
})
<!-- index.html -->
<html>
<body>
<script>
require('electron').ipcRenderer.on('ping', (event, message) => {
console.log(message) // Prints 'whoooooooh!'
})
</script>
</body>
</html>
注意,webContents.on
监听的是已经定义好的事件,如上面的 did-finish-load
。要监听自定义的事件还是通过 ipcMain
和 ipcRenderer
。
渲染进程的监听事件回调函数中,也可以通过 event.sender
来向主进程发送消息。这个对象只是 ipcRenderer
的引用(event.sender === ipcRenderer)。因此,event.sender
发送的消息在主进程中还是需要通过 ipcMain.on
方法来监听,而不是通过 webContents.on
方法。