您必须访问您的主进程创建的BrowserWindow对象,并在其上调用minimize
,maximize
和close
方法。您可以使用remote
模块访问它。下面是结合所有三个按钮的例子:
const remote = require('electron').remote;
document.getElementById("min-btn").addEventListener("click", function (e) {
var window = remote.getCurrentWindow();
window.minimize();
});
document.getElementById("max-btn").addEventListener("click", function (e) {
var window = remote.getCurrentWindow();
if (!window.isMaximized()) {
window.maximize();
} else {
window.unmaximize();
}
});
document.getElementById("close-btn").addEventListener("click", function (e) {
var window = remote.getCurrentWindow();
window.close();
});
假设你的最小,最大,关闭按钮分别具有min-btn
,max-btn
,并且close-btn
,IDS。
您可以查看BrowserWindow的完整文档以及您可能需要的其他功能:http://electron.atom.io/docs/v0.28.0/api/browser-window/。
它也可以帮助你看看我编写的关于构建一个看起来像Visual Studio的无窗口的教程:http://www.mylifeforthecode.com/making-the-electron-shell-as-pretty-as-the-visual-studio-shell。你的问题与一些CSS一起覆盖,以正确定位按钮。
脚本只有在打开窗口时才允许关闭窗口。 – Barmar
那么Electron事件系统是否允许进行一些窗口级别的事件侦听,以便我可以触发我在'main.js'电子窗口级捕获的自定义“关闭”事件? –
我对Electron一无所知。这是关于Javascript的一般规则。 – Barmar