electron关闭多个窗口,可以把所有的窗口对象都保存到一个数组中,然后循环调用close方法关闭。
global是全局变量,可以将数组保存在global中。
例子如下:
html页面代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>关闭多窗口</title>
<script src="event.js"></script>
</head>
<body>
<button onclick="onClick_Close()">关闭当前窗口</button>
<p/>
<button onclick="onClick_CreateMultiWindows()">创建多个窗口</button>
<p/>
<button onclick="onClick_CloseAllWindows()">关闭所有的窗口</button>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>关闭多窗口</title>
<script src="event.js"></script>
</head>
<body>
<button onclick="onClick_Close()">关闭当前窗口</button>
<p/>
<button onclick="onClick_CreateMultiWindows()">创建多个窗口</button>
<p/>
<button onclick="onClick_CloseAllWindows()">关闭所有的窗口</button>
</body>
</html>
event.js代码:
const remote = require('electron').remote;
const BrowserWindow = remote.BrowserWindow;
// 关闭当前窗口
function onClick_Close() {
const win = remote.getCurrentWindow();
win.close();
}
//
function onClick_CreateMultiWindows() {
if(global.windows == undefined) {
// 初始化windows数组
global.windows = [];
}
var win = new BrowserWindow({show:false,x:10,y:20,widht:400,height:400});
global.windows.push(win);
win.loadFile('./child.html');
win.on('ready-to-show',()=>{
win.show();
})
}
// 关闭所有的窗口(除了主窗口)
function onClick_CloseAllWindows() {
if(global.windows != undefined) {
// 扫描并关闭除了主窗口外的所有窗口
for(var i = 0; i < global.windows.length;i++)
{
global.windows[i].close();
}
global.windows.length = 0;
global.windows = undefined;
}
}
const BrowserWindow = remote.BrowserWindow;
// 关闭当前窗口
function onClick_Close() {
const win = remote.getCurrentWindow();
win.close();
}
//
function onClick_CreateMultiWindows() {
if(global.windows == undefined) {
// 初始化windows数组
global.windows = [];
}
var win = new BrowserWindow({show:false,x:10,y:20,widht:400,height:400});
global.windows.push(win);
win.loadFile('./child.html');
win.on('ready-to-show',()=>{
win.show();
})
}
// 关闭所有的窗口(除了主窗口)
function onClick_CloseAllWindows() {
if(global.windows != undefined) {
// 扫描并关闭除了主窗口外的所有窗口
for(var i = 0; i < global.windows.length;i++)
{
global.windows[i].close();
}
global.windows.length = 0;
global.windows = undefined;
}
}