0
我正在嘗試構建一個簡單的應用程序,它具有關閉,最大化和最小化按鈕。Electron v1.7:關閉,最大化和最大化
該應用程序的問題是關閉,最大化和最小化不能正常工作。單擊按鈕時,console.log()
運行正常,並顯示正確的消息,但是,它不執行實際的關閉,最大化和最小化操作。
此外,不是在CSS中,我爲標題添加了-webkit-app-region: drag;
,但爲選項(即按鈕)添加了-webkit-app-region: no-drag;
。
附加截圖。
驅動index.js的含量爲:
const {app, BrowserWindow} = require('electron');
const url = require('url');
let win = null;
function boot() {
win = new BrowserWindow({
width: 640,
height: 480,
frame: false
});
win.loadURL(`file://${__dirname}/index.html`);
win.on('closed',() => {
win = null;
});
}
app.on('ready', boot);
header {
display: flex;
flex-direction: row-reverse;
justify-content: flex-start;
background: #353535;
color: black;
align-self: stretch;
-webkit-app-region: drag;
}
#content {
display: flex;
height: 100vh;
flex-direction: column;
background: black;
align-items: center;
}
.option {
color: white;
padding: 10px 25px;
font-size: 16px;
cursor: pointer;
-webkit-app-region: no-drag;
}
.option:hover {
background: red;
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Sample App</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div id="content">
<header>
<div class="option" id="close">X</div>
<div class="option" id="minimize">-</div>
<div class="option" id="maximize">=</div>
</header>
</div>
<script src="js/script.js"></script>
</body>
</html>
此外,的script.js的內容是
const {remote} = require('electron');
document.getElementById('close').addEventListener('click', closeWindow);
document.getElementById('minimize').addEventListener('click', minimizeWindow);
document.getElementById('maximize').addEventListener('click', maximizeWindow);
function closeWindow() {
var window = remote.getCurrentWindow();
window.close();
}
function minimizeWindow() {
var window = remote.getCurrentWindow();
window.minmize();
}
function maximizeWindow() {
var window = remote.getCurrentWindow()
window.isMaximized() ? window.unmaximize() : window.maximize();
}
單擊按鈕時是否收到任何錯誤?根據[this](https://stackoverflow.com/a/37721711/7434393)回答'getFocusedWindow'應該可以工作,你試過了嗎? – kontrollanten
在我正在開發的一個項目中,我實現了類似這樣的事情,但是我做到這一點的方式是當用戶單擊關閉按鈕時,它使用ipc發送消息到主進程,主進程只需調用'window .maximize()' –
@kontrollanten,該答案解決了我的問題。請寫一個答案,以便它可以幫助每個人。如果你不想寫。請回復,我會自己寫答案。 :) – aps120797