电子检查窗口是否已经打开,并在创建之前关闭。

问题描述 投票:0回答:1

是否可以在电子中检测到窗口是否已经创建,并在创建另一个窗口之前关闭?

以下是我的示例代码

// video window listener
ipcMain.on("load-video-window", (event, data) => {
  // create the window

  //window.close() if window exist;

  let videoPlayer = new BrowserWindow({
    show: true,
    width: 840,
    height: 622,
    webPreferences: {
      nodeIntegration: true,
      plugins: true,
    },
  });

  if (process.env.WEBPACK_DEV_SERVER_URL) {
    // Load the url of the dev server if in development mode
    videoPlayer.loadURL(
      process.env.WEBPACK_DEV_SERVER_URL + "video_player.html"
    );
    if (!process.env.IS_TEST) videoPlayer.webContents.openDevTools();
  } else {
    videoPlayer.loadURL(`app://./video_player`);
  }

  videoPlayer.on("closed", () => {
    videoPlayer = null;
  });

  // here we can send the data to the new window
  videoPlayer.webContents.on("did-finish-load", () => {
    videoPlayer.webContents.send("data", data);
  });
});
windows electron destroy
1个回答
1
投票

我认为这应该工作

let playerWindow;
ipcMain.on("load-video-window", (event, data) => {

  if (playerWindow) {
    playerWindow.close();
  }

  playerWindow = new BrowserWindow();

});
© www.soinside.com 2019 - 2024. All rights reserved.