隐藏窗口而不是关闭Electron

时间:2018-04-12 12:26:12

标签: macos electron

我的帮助窗口实现如下:

    updWindow = new BrowserWindow({
        width: 400,
        height: 200,
        resizable: false,
        show: false,
        center: true,
        maximizable: false,
        minimizable: false,
        title: 'Apdate Available'
    });
    updWindow.on('close', function () {

    });
    updWindow.loadURL(url.format({
        pathname: path.join(__dirname, 'updateAvailable.html'),
        protocol: 'file:',
        slashes: true
    }));
    updWindow.setMenuBarVisibility(false);

当我点击窗口标题处的“x”按钮时,窗口将被关闭并销毁。所以我将无法使用updWindow变量再次打开它。有没有办法在没有重新初始化的情况下保持窗口对象的新开放?我仍然想为此目的使用“x”按钮。

我的应用是针对Mac OS的。

1 个答案:

答案 0 :(得分:1)

您可以在事件中使用函数preventDefault Electron将处理您的处理程序,例如:

updWindow.on("close", (evt) => {
    evt.preventDefault();    // This will cancel the close
    updWindow.hide();
});

Electron documentation中提到了这一点,即here

使用此解决方案,您稍后可以通过调用updWindow.show();取消隐藏窗口。