您必須訪問您的主進程創建的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