【问题标题】:window.maximize() fails when window is minimized electron当窗口最小化电子时 window.maximize() 失败
【发布时间】:2017-07-12 20:57:39
【问题描述】:

我创建了一个带有托盘图标的电子应用程序。 当我右键单击托盘图标时,我会显示一个包含 4 个选项的菜单:

  • 最小化
  • 最大化
  • 重启
  • 退出

这里是创建托盘图标的代码:

    trayIcon = new Tray('icons/foo.png');
    const trayMenuTemplate = [{
        label: 'Maximize',
        click:(_,window)=>{
            window.maximize();
        }
    }, {
        label: 'Minimize',
        click:(_,window)=>{
            window.minimize();
        }
    }, {
        label: 'Restart'
    }, {
        type: 'separator'
    }, {
        label: 'Quit',
        role: 'quit'
    }];

但是我有一个问题。当我点击最小化然后我点击最大化我得到一个错误说Cannnot read property maximize of null 有什么想法吗?谢谢

【问题讨论】:

    标签: electron trayicon tray


    【解决方案1】:

    您可以随时检查它是否已最小化并将其还原为解决方法。我认为这没什么大不了的。

    要检查和恢复它,您可以使用:

    if (window.isMinimized()) {
        window.restore();
    }
    

    整个事情会是这样的:

    {
        label: 'Maximize',
        click:(_,window)=>{
            if (window.isMinimized()) {
                window.restore();
            }
            window.maximize();
        }
    }
    

    【讨论】:

      【解决方案2】:

      托盘未绑定到任何浏览器窗口,因此window 为空。如果您在主进程中创建托盘菜单,则可以使用 mainWindow 参考,如果您在渲染器中,则可以使用 remote.getCurrentWindow()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-10-10
        • 2013-10-09
        • 2014-08-04
        • 2018-08-24
        • 1970-01-01
        • 2012-04-24
        • 2012-02-29
        相关资源
        最近更新 更多