识别一次电子窗口

时间:2019-03-05 13:36:08

标签: electron

我有一些在Electron的多个渲染器之间共享的代码。我希望这些渲染器知道它们是主窗口还是子窗口之一。我想知道渲染器是否有一种快速的方法来知道它的ID是什么。

目前,我正在使用以下方法确定渲染器何时是主要渲染器。

在渲染器javascript中

import { ipcRenderer } from 'electron';
const isMainRenderer = ipcRenderer.sendSync('main-renderer-check');

在主要/后台javascript中

ipcMain.on('main-renderer-check', (event) => {
    event.returnValue = event.sender.id === 2;
});

这行得通,但是解决这个问题似乎有点复杂。

还有另一种更直接的方法吗?

1 个答案:

答案 0 :(得分:1)

根据Electron在ipcRenderer, the event.sender.id property上的文档,该信息等于消息起源的webContents的ID。

因此,应该可以使用Electron's remote module通过其WebContents来检索当前窗口的唯一ID:

import { remote } from 'electron';
const isMainRenderer = remote.getCurrentWebContents ().id === 2;