从主进程与菜单栏窗口的通信不起作用
Posted
技术标签:
【中文标题】从主进程与菜单栏窗口的通信不起作用【英文标题】:Communication with the menubar window from main process is not working 【发布时间】:2019-04-07 13:48:09 【问题描述】:我正在使用菜单栏(https://www.npmjs.com/package/menubar),我需要从主进程向它发送信息,但它似乎不起作用。
一旦我的应用程序加载,它就会创建菜单栏并从服务器请求一些信息。服务器返回有关用户是否为管理员的信息。这被证实工作正常。如果用户是经理,我想在菜单栏窗口中显示一个按钮。
/* 主进程 */
menubar.window.webContents.send('is-a-manager', true)
/* 渲染器进程 - 我导入 ipcRenderer*/
ipcRenderer('is-a-manager', (event, isManager) =>
console.log(isManager);
)
菜单栏中的窗口实际上应该记录“true”,但它不打印任何内容。
【问题讨论】:
注意:上面的代码中存在我的代码中没有的问题...上面的代码应为:ipcRenderer.on(....)。我现在让代码工作了,但我不知道它为什么工作。这很奇怪,但是当我将超时设置为 1 秒时,事情会按预期工作。 SetTimeout(()->menubar.window.webContents.send('is-a-manager', true), 1000)。因此,它必须是加载方式的问题,但我无法弄清楚问题是什么。 那你为什么不编辑你的问题呢? ;) 【参考方案1】:ipcRenderer.on('is-a-manager', (event, isManager) =>
console.log(isManager);
)
ipcRenderer.on(channel, listener)
【讨论】:
是的,对不起。这是我上面提供的代码的错误。你描述的方式就是我在我的代码中的方式,它仍然不起作用。以上是关于从主进程与菜单栏窗口的通信不起作用的主要内容,如果未能解决你的问题,请参考以下文章