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(),因为默认情况下它会退出应用程序。