我有一些在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;
});
这行得通,但是解决这个问题似乎有点复杂。
还有另一种更直接的方法吗?
答案 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;