Javascript 我需要使用app.quit()关闭所有窗口,但它没有成功';无法工作,因为有些窗口是隐藏的

Javascript 我需要使用app.quit()关闭所有窗口,但它没有成功';无法工作,因为有些窗口是隐藏的,javascript,electron,Javascript,Electron,我有一个简单的应用程序,只有两个窗口,永远不会同时出现,但总是在工作,只有一个窗口是隐藏的。我一直在尝试使用app.quit()方法关闭它们,但它不起作用,我关闭的窗口停止运行,但终端中的进程将继续,因为另一个窗口正在运行。我怎样才能解决这个问题? 这是密码 const app = electron.app const { ipcMain } = require('electron') var path = require('path') const BrowserWindow = elect

我有一个简单的应用程序,只有两个窗口,永远不会同时出现,但总是在工作,只有一个窗口是隐藏的。我一直在尝试使用
app.quit()
方法关闭它们,但它不起作用,我关闭的窗口停止运行,但终端中的进程将继续,因为另一个窗口正在运行。我怎样才能解决这个问题?
这是密码

const app = electron.app
const { ipcMain } = require('electron')
var path = require('path')

const BrowserWindow = electron.BrowserWindow

//when app ready it will create the window
app.on('ready', function () {
    //create the first window
    let loginWindow = new BrowserWindow({
        [...]
        
    webPreferences: {
            preload: path.join(__dirname, 'preload.js'),
            nodeIntegration: true,
            enableRemoteModule: true
        }
    })

    loginWindow.once('ready-to-show', function () {
        loginWindow.show()   
    })

    //create the forgotten password window
    let forgotPasswordWindow = new BrowserWindow({
       [...]
        
        webPreferences: {
            preload: path.join(__dirname, 'preload.js'),
            nodeIntegration: true,
            enableRemoteModule: true
        }
    })
    
    forgotPasswordWindow.once('ready-to-show', function () {
        forgotPasswordWindow.hide()
    })

    ipcMain.on('forgotpassword-from-login', function () {
        forgotPasswordWindow.show(loginWindow.hide())
    })
    
    ipcMain.on('login-from-forgotpassword', function () {
        forgotPasswordWindow.hide(loginWindow.show())
    })

});

app.on('window-all-closed', () => {
    if (forgotPasswordWindow.closed === true && loginWindow.show === false) {
        app.quit()
    }
    else if (loginWindow.closed === true && forgotPasswordWindow.show === false) {
        app.quit()
    }
})
最后一段代码只是我的一个尝试,认为我是一个初学者。br>谢谢您的回答

好的,多亏了的回答,我找到了简单的解决方案,我将两个窗口上的关闭按钮设置为按下时关闭两个窗口,因此现在
app.quit()
就可以正常工作了。
代码现在看起来和以前一样,我刚刚添加了一个
ipcMain
函数来关闭如下窗口:

ipcMain.on('close-all-windows', function() {
    forgotPasswordWindow.close(loginWindow.close())
})
最后,最后一个
app.on
函数如下所示:

app.on('window-all-closed', function () {
    if (process.platform !== 'darwin') app.quit()
})

感谢所有人的帮助< /p>关闭窗口,你想调用它的“关闭”()函数,就像你用“代码> Login窗口”。()(代码)>你可以调用<代码> Login窗口。关闭()/代码>默认情况下,如果所有窗口关闭,应用程序将终止。你可以考虑使用<代码> App.Ext()<<代码>。它将绝对关闭所有窗口(不完全关闭)。只有在所有窗口都已关闭时才会发出事件
window all closed
,因此此时不会命中您的代码。另外,您不需要在“窗口全部关闭”中调用app.quit(),因为默认情况下它会退出应用程序。