在Electron中,你可以通过BrowserWindow的API来创建和管理窗口。要销毁所有窗口,你需要遍历所有打开的窗口并调用它们的destroy()
或close()
方法。
以下是一个简单的示例,说明如何销毁所有窗口:
const { BrowserWindow, app } = require('electron');let windows = []; // 存储所有打开的窗口app.on('ready', () => {// 创建窗口并添加到windows数组中let win1 = new BrowserWindow({ /* options */ });windows.push(win1);let win2 = new BrowserWindow({ /* options */ });windows.push(win2);// ... 创建更多的窗口,并添加到windows数组中
});function destroyAllWindows() {windows.forEach(window => {window.destroy(); // 或者使用 window.close();});windows = []; // 清空数组,以便之后可以重新创建窗口
}// 当你想要销毁所有窗口时,调用这个函数
destroyAllWindows();
在这个例子中,我们首先创建了一些窗口,并将它们存储在一个数组中。然后,我们定义了一个destroyAllWindows
函数,它遍历数组中的每个窗口并销毁它们。最后,我们调用这个函数来销毁所有窗口。
注意,destroy()
方法会立即关闭窗口并释放相关资源,而close()
方法则会尝试优雅地关闭窗口,可能会触发beforeunload
和unload
事件。你可以根据你的需求选择合适的方法。
另外,如果你想要在某个特定的事件发生时销毁所有窗口,比如在用户点击一个按钮或者接收到一个特定的系统通知时,你可以在那个事件的处理函数中调用destroyAllWindows()
函数。