我第一次玩电子游戏。试着创建一个文本编辑器
在渲染中,我向发送一条消息,指出内容已更改,需要保存:
document.getElementById('content').onkeyup = e => {
ipcRenderer.send('SAVE_NEEDED', {
content: e.target.innerHTML,
fileDir
})
}
然后ipcMain
接收它没有问题。在菜单上我有这个:
{
label: 'Save',
click: _ => {
saveFile(message)
// trying:
// ipcMain.send('SAVED', 'File Saved')
},
accelerator: 'cmd+S', // shortcut
}
这样用户就知道文件已经保存了。但这似乎不起作用。有没有其他方法可以做到这一点?我认为“保存”应该是一个预先创建的角色(某种程度上)
5条答案
按热度按时间xdyibdwo1#
若要将消息发送回渲染器,请用途:
并这样接收它:
其中
asynchronous-message
就是你要发送的频道,它可以是任何东西。webContents.send
文档f8rj6qna2#
或者-当你想响应从渲染器进程接收的事件时,你可以这样做:
来源:https://electronjs.org/docs/api/ipc-main
n9vozmp43#
下面是我修改的内容(使用处理
contextBridge
的新方法),我的用途只是让menuItem在我的React代码中调用导航事件:第一个
iyr7buue4#
老问题我却找到了新的好办法;
lndjwyie5#
来自@raksa的回答
您可以将请求发送到main并获得响应,而不是发送可能无法传递的响应。
使用此示例