【问题标题】:maximize/unmaximize doesn't work on electron when resizable: false调整大小时最大化/取消最大化对电子不起作用:false
【发布时间】:2018-04-03 21:23:27
【问题描述】:

我正在开发 Electron 的桌面应用程序。哪些是无框窗口,我写了一个运行良好的 JS 最大化/取消最大化按钮?

<button class="max" onclick="MaxUnMax();">&nbsp;</button>

JS

function MaxUnMax () {
   const remote = require('electron').remote
   const { BrowserWindow } = remote;
   var window = remote.getCurrentWindow();
   if (!window.isMaximized()) {
      window.maximize();
   } else {
      window.unmaximize();
   }
}

但是当我禁用调整大小功能时(通过 main.js 上的resizable: false)最大化/取消最大化按钮不起作用。

【问题讨论】:

  • 你检查过这个帖子stackoverflow.com/a/46882965/7434393 吗?即,尝试使用getFocusedWindow 而不是getCurrentWindow。它解决了你的问题吗?
  • 不,当我使用它时它停止工作!

标签: javascript node.js electron electron-builder


【解决方案1】:

我遇到了类似的问题,我找到了这个解决方案:

我没有使用window.isMaximized(),而是使用window.isFullScreen()

对于window.maximize()window.unmaximize(),我使用了window.setFullScreen(true)window.setFullScreen(false);

即使使用resizable: false 也对我有用

解决方案 1:

const remote = require('electron').remote;
const { BrowserWindow } = remote;
function MaxUnMax () {
   var window = remote.getCurrentWindow();
   if (!window.isFullScreen()) {
      window.setFullScreen(true);
   } else {
      window.setFullScreen(false);
   }
}

解决方案 2:

const remote = require('electron').remote;
const { BrowserWindow } = remote;
function MaxUnMax () {
   var window = remote.getCurrentWindow();
   window.setFullScreen(!win.isFullScreen());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多