2017-10-06 65 views
0

我在Windows上測試。 該應用程序通過「關於」標籤在「就緒」上設置了托盤菜單。單擊時,它顯示了一個BrowserWindow:爲什麼我的Electron應用程序在關閉渲染器窗口時退出?

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

,然後,當用戶點擊OK,以關閉它:

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

導致應用程序退出。

爲什麼?因爲你關閉窗口獨特這個事件它的發射和應用程序被關閉

// 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() 
    } 
}) 

所以:

回答

1

在你main.js,你可以有這樣的代碼。

編輯 這種行爲被默認在電子,所以要避免關閉應用程序關閉主窗口中添加這一行:

app.on('window-all-closed', e => e.preventDefault()) 
+1

好了,我沒有在我的main.js.這就像是Electron的內置默認設置嗎? –

+0

是的,這是正確的,我會編輯答案! –

相關問題