Javascript 当应用程序在Windows上全屏显示时隐藏窗口菜单?

Javascript 当应用程序在Windows上全屏显示时隐藏窗口菜单?,javascript,electron,Javascript,Electron,我有一个运行在OSX和Windows上的Electron应用程序。当Windows版本是全屏的时候,它仍然会显示一个菜单栏,我不希望这样。基本上我想知道OSX上会发生什么:当应用程序是“全屏”时,不应该出现菜单栏或“chrome”窗口 在我的窗口设置期间,我尝试了setAutoHideMenuBar,但没有任何区别。我使用它是错误的还是误解了它应该做什么 我在setMenu(null)中看到一些QA建议,但这不会完全破坏菜单吗?在窗口模式下或(在Windows上)按下Alt键时,我确实需要菜单

我有一个运行在OSX和Windows上的Electron应用程序。当Windows版本是全屏的时候,它仍然会显示一个菜单栏,我不希望这样。基本上我想知道OSX上会发生什么:当应用程序是“全屏”时,不应该出现菜单栏或“chrome”窗口

在我的窗口设置期间,我尝试了
setAutoHideMenuBar
,但没有任何区别。我使用它是错误的还是误解了它应该做什么

我在
setMenu(null)
中看到一些QA建议,但这不会完全破坏菜单吗?在窗口模式下或(在Windows上)按下Alt键时,我确实需要菜单


从:

win.setAutoHideMenuBar(隐藏)

设置窗口菜单栏是否应自动隐藏自身。 设置后,菜单栏仅在用户按单个Alt键时显示 钥匙

如果菜单栏已可见,则调用setAutoHideMenuBar(true) 我不会马上把它藏起来

win.setmenubavisibility(可见)Windows Linux

visible Boolean
设置菜单栏是否应可见。如果菜单栏是 自动隐藏,用户仍然可以通过按 单Alt键

win.setMenu(菜单)Linux Windows

menu Menu
将菜单设置为窗口的菜单栏,将其设置为null将删除 菜单栏


使用
setFullScreen
方法

function (item, focusedWindow) {
    if (focusedWindow) {
        focusedWindow.setFullScreen(!focusedWindow.isFullScreen())
    }
}
我的一个错误和一个“数字”

  • 我错误地使用了
    setAutoHideMenuBar
    命令,试图在创建窗口时将其用作选项。正确的选项语法是
    autoHideMenuBar:true


  • 为了处理全屏切换,在设置菜单时,我使用了快捷方式

    角色:“切换全屏”

  • 虽然这项功能有效,并且包括键盘加速器,但菜单栏始终显示,并且显然忽略了
    autoHideMenuBar
    设置。我不明白为什么。因此,我没有使用快捷方式,而是使用该快捷方式,菜单栏将正确隐藏

                {
                    label: 'Toggle Full Screen',
                    click: () => { toggleFullscreen();},
                    accelerator: 'CmdOrCtrl+f'
                }
    

    function (item, focusedWindow) {
        if (focusedWindow) {
            focusedWindow.setFullScreen(!focusedWindow.isFullScreen())
        }
    }
    
    app.on('ready', function () {
        mainWindow = new BrowserWindow({
            show: false,
            width: 1024,
            height: 768,
            minWidth: 400,
            minHeight: 200,
            resizable: true,
            backgroundColor: '#222',
            center: true,
            autoHideMenuBar: true
        }); 
    
                {
                    label: 'Toggle Full Screen',
                    click: () => { toggleFullscreen();},
                    accelerator: 'CmdOrCtrl+f'
                }
    
    function toggleFullscreen() {
        if (mainWindow.isFullScreen()) {
            mainWindow.setFullScreen(false);
        } else {
            mainWindow.setFullScreen(true);
        }
    }