我正在(第一次)使用Electron创建一个仅限Mac的小型应用程序。我正在尝试使用ipcRenderer在我的应用程序菜单和主BrowserWindow中的内容之间进行通信。
我将菜单设置如下,以发送消息'select-active':
const {Menu} = require('electron')
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
const template = [
{
label: 'Fonts',
submenu: [
{
label: 'Select All Acitve Fonts',
accelerator: 'Command+A',
click (item, focusedWindow) { if(focusedWindow) focusedWindow.webContents.send('select-active') }
},...我收到的信息如下:
const ipcRenderer = require('electron').ipcRenderer;
ipcRenderer.on('select-active', function () {
console.log('SELECTED');
})我遇到的问题是,每次选择菜单命令时,消息都会在控制台中记录两次。我哪里错了?
发布于 2018-09-24 17:31:19
改用.once怎么样?
ipcRenderer.once('select-active', function () {
console.log('SELECTED');})
https://stackoverflow.com/questions/49346775
复制相似问题