javascript - 电子,最小化屏幕
问题描述
我在这里很新,我在 Electron 有一个项目,我想做自己的最小化/最大化,关闭按钮。而且我的最小化/最大化按钮效果不佳。我已经通过几个主题提出了这个问题,但它仍然不起作用。当我第一次点击时,它最大化了窗口,但是当我再次点击时,它不会最小化,所以它在if/else中停留在“窗口最大化”的状态。
即使我开始使用自己的布尔值来强制执行该函数,它也能理解它何时最大化。但它不会进入另一个状态。
这是代码示例
const remote = require('electron').remote;
let screenExit = document.getElementById("close-btn")
let screenSize = document.getElementById("size-btn")
//Close Windows
screenExit.addEventListener( "click", e => {
let window = remote.getCurrentWindow()
window.close()
} )
//Minimize & Maximize
$('#size-btn').click(function() {
let window = remote.getCurrentWindow()
if(window.isMaximized()){
window.restore();
console.log("AAAAAAAAAAAAH")
}else{
window.maximize();
console.log("This sh** gone work ._.")
}
});
在控制台中,它不断记录我“AAAAAAAAAAAAH”,因为它不会进入其他情况。即使我自己做布尔运算。
非常感谢提前!
解决方案
好的,我有消息了
来自电子的方法“.isMaximized”并没有那么有效,所以应用程序看不到它是最大还是最小化。一旦知道这一点,您就在一个案例中应用未最大化,在另一个案例中最大化(感谢@Khokim Mamarasulov),并且一旦您输入一个或另一个值,您只需执行一个布尔值更改,这是一个示例。
//Minimize & Maximize
$('#size-btn').click(function() {
let window = remote.getCurrentWindow()
if(changeState == true){
window.unmaximize();
console.log ("beforeUnmax :",changeState)
changeState = false
console.log ("afterUnmax :",changeState)
}else{
window.maximize();
console.log ("beforeMax :",changeState)
changeState = true
console.log ("afterMax :",changeState)
}
});
推荐阅读
- asp.net-core - 在相同的 Ip 和端口上托管两个 asp.net 核心应用程序(例如 localhost:8080)
- scala - 由于“java.util.List[etc...不接受参数错误”,无法在 Scala 中索引列表
- python - 安装机器人框架时出错
- html - 为什么我的内联 svg 无法在 Safari(桌面和移动设备)上正确显示?
- android - Android BluetoothLeScanner startScan 未在 android 7+ 待机模式下的 scheduleJob 中扫描
- flutter - Flutter - 将 GetIt 与 BuildContext 一起使用
- java - 我为用户配置文件添加了firebase到我的应用程序。但是现在我的应用程序导致了各种错误,如何解决这个问题(添加了logcat)?
- oracle - 如何从 oracle webcenter 内容 (UCM) 的左侧菜单中隐藏内容管理选项卡?
- android - 创建 Firestore 文档时出现权限错误
- node.js - 在 Node.js 中获取具有分辨率的物理屏幕列表