Electron 窗口不显示';无法接收来自IPC的消息

Electron 窗口不显示';无法接收来自IPC的消息,electron,ipc,electron-vue,Electron,Ipc,Electron Vue,我正在使用Electron+Vue构建我的应用程序。我向主进程发送消息以创建新窗口。在main的方法中,我试图将消息传递给新创建的窗口,但它不起作用 我在主浏览器窗口中的“我的主页”组件中调用的方法 ipcRenderer.send("criar-janela-instalcao"); 这是主要流程上的方法 ipcMain.on('criar-janela-instalcao', () => { if (!janelaInstalacao) { jane

我正在使用Electron+Vue构建我的应用程序。我向主进程发送消息以创建新窗口。在main的方法中,我试图将消息传递给新创建的窗口,但它不起作用

我在主浏览器窗口中的“我的主页”组件中调用的方法

ipcRenderer.send("criar-janela-instalcao");
这是主要流程上的方法

ipcMain.on('criar-janela-instalcao', () => {

  if (!janelaInstalacao) {
    janelaInstalacao = new BrowserWindow({
      height: 500,
      width: 500,
      webPreferences: {
        nodeIntegration: true,
        enableRemoteModule: true,
      },
      show: true,
    });

    janelaInstalacao.loadURL(urlJanelaInstalacao);
    janelaInstalacao.on("closed", () => (janelaInstalacao = null));
    janelaInstalacao.on('did-finish-load', () => {
      janelaInstalacao.webContents.send('message', 'Hello new window');
    })
  }
})
这就是我在组件“DownloadInstalacao”中创建的钩子中的侦听器。此组件位于我刚刚打开的浏览器窗口中:

  created() {
    ipcRenderer.on("message", (event, message) => {
      console.log(message);
    });
  },
窗口已正确打开和加载,但控制台中未显示任何内容


注意:由于页面加载工作正常,我省略了变量“urlJanelaInstalacao”和“janelaInstalacao”。

结果表明,“did FINICE load”事件必须应用于我的BrowserWindow的对象WebContent,而不是BrowserWindow本身

我当时的做法

    janelaInstalacao.on('did-finish-load', () => {
      janelaInstalacao.webContents.send('message', 'Hello new window');
    })
正确的方法

  janelaInstalacao.webContents.on('did-finish-load', () => {
      janelaInstalacao.webContents.send('message', 'Hello new window');
    })