Bonjour à tous :
J'utilise electron
pour écrire une application similaire à un éditeur. Il y a une fonction d'enregistrement de fichier dans la barre de menu de l'application :
Parce que la barre de menus est dans le fil de rendu principal, mais l'opération de sauvegarde doit obtenir le contenu dans un éditeur dans le fil de rendu. Le site officiel ne contient que des exemples de fil de rendu demandant le fil de rendu principal (ipcMain和ipcRenderer
),但是ipcMain
好像不能主动请求ipcRenderer
.
Je voudrais donc demander à tout le monde, comment le thread principal peut-il demander activement au thread de rendu d'appeler la méthode du thread de rendu ou de déclencher l'événement du thread de rendu ?
Merci !
J'ai trouvé la solution ^_^
Dans l'événement
ipcMain
和ipcRenderer
中同时监听两个相同名字的事件,然后在主线程中使用focusedWindow.webContents.send('save-file')
触发ipcRenderer
的save-file
事件,在ipcRenderer
的save-file
事件中请求ipcMain
的save-file
et emportez les données correspondantesipcMain :
ipcRenderer :
Vous pouvez d'abord lier un événement au fil de rendu, par exemple, diffuser l'événement dans la fonction
ipcRenderer.on('save', save);
,然后在用户点击菜单中的 Save 时触发这个事件,然后在save
et transmettre les données dont vous avez besoin.C’est un peu compliqué, mais c’est tout ce à quoi je peux penser pour l’instant.