首页 > 解决方案 > 电子,最小化屏幕

问题描述

我在这里很新,我在 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”,因为它不会进入其他情况。即使我自己做布尔运算。

非常感谢提前!

标签: javascriptelectronminimize

解决方案


好的,我有消息了

来自电子的方法“.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)

  }
});

推荐阅读