所以我对javascript和electronic还不陌生。 我创建了一个无框窗口,并添加了一个带有3个按钮的栏(最小化,最大化和关闭)。
<div class="menu-buttons">
<button id="window-minimize" class="menu-button"></button>
<button id="window-maximize" class="menu-button"></button>
<button id="window-close" class="menu-button">✕</button>
</div>
我还添加了脚本menubar.js:
const $ = require('jquery')
const { remote } = require('electron')
var window = remote.getCurrentWindow()
$('#window-minimize').click(() => {
window.maximize()
})
$('#window-maximize').click(() => {
if(!window.isMaximized()) {
window.maximize()
} else {
window.unmaximize()
}
})
$('#window-close').click(() => {
window.close()
})
现在我的问题是关闭按钮可以很好地工作,但是其余窗口方法返回错误:
未捕获的TypeError:window.isMaximized不是一个函数 在HTMLButtonElement。 (menubar.js:11)
所以我不确定关闭按钮为何起作用,而其他方法不起作用。
答案 0 :(得分:0)
使用windowState
:
if (window.windowState == 1) //Window is maximized
if (window.windowState == 2) //Window is minimized
if (window.windowState == 3) //Window is at normal size
if (window.windowState == 4) //Window is full screen
答案 1 :(得分:0)
在电子window
内定义了全局范围,window.close()
仍将起作用,因为它是该范围内的函数。
尝试做console.log(window);
来了解我的意思。
要解决此问题,应将您的 window
变量重命名为其他名称。示例:
var win = remote.getCurrentWindow();
希望这会有所帮助。
-乔什