Why does my Electron app quit when closing a Rende

2019-07-31 18:39发布

I'm testing on Windows. The app sets up a Tray menu on 'ready', with an 'About' label. When clicked, it shows a BrowserWindow:

 var aboutBox = new BrowserWindow({
        width: 460, height: 176, useContentSize: true,
        icon: iconImg,
        maximizable: false, fullscreenable: false, resizable: false, minimizable: false
    });

and then, when the user clicks on OK, closing it with:

const remote = require('electron').remote;
remote.getCurrentWindow().close();

causes the app to exit.

Why?

标签: electron
1条回答
不美不萌又怎样
2楼-- · 2019-07-31 19:43

In your main.js you could have this code:

// Quit when all windows are closed.

  app.on('window-all-closed', function () {
  // On OS X it is common for applications and their menu bar  
  // to stay active until the user quits explicitly with Cmd + Q
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

So because you close the unique windows this event it's emitted and app is closed.

EDIT This behavior is also default in Electron, so to avoid closing app closing the main window add this line:

app.on('window-all-closed', e => e.preventDefault() )
查看更多
登录 后发表回答