electron - 无法删除Electron开发中的菜单

标签 electron

这是我传递给app.on('ready')的createWindow函数

function createWindow () {
    const startUrl = process.env.ELECTRON_START_URL || url.format({
        pathname: path.join(__dirname, '../index.html'),
        protocol: 'file:',
        slashes: true,
    })

    mainWindow = new BrowserWindow({
            width: 800,
            height: 600,
            webPreferences: {
            devTools: true,
            preload: path.join(__dirname, 'preload.js')
        },
    })

    mainWindow.loadURL(startUrl)
    mainWindow.removeMenu() // <----------------- HERE!
    mainWindow.on('closed', function () {
            mainWindow = null
    })
}

漂亮的样板版的问题是mainWindow.removeMenu()无法正常工作,并将其留在原处。

我也尝试过setMenu(null),菜单仍然存在。

是仅在生产中删除菜单,还是我做错了什么?

编辑

我也尝试过mainWindow.setMenuBarVisibility(false),但效果不佳。

最佳答案

您可能仍在使用旧版本的Electron。长时间以来,存在一个阻止删除菜单栏的错误。它已在Electron 7.1.5中修复:

Release Notes for v7.1.5

Fixes

Fixed window menu unable to hide on startup. #21449

因此,一旦将Electron升级到最新版本,或者至少将一个版本大于或等于mainWindow.removeMenu()7.1.5应该可以正常工作。

关于electron - 无法删除Electron开发中的菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60581637/

相关文章:

node.js - 如何在 Electron 应用程序中显示另存为对话框?

javascript - 检测到更改后自动刷新iFrame

node.js - 如何使用angular cli以angular 2导入Electron

electron - .png格式的带有托盘图标的Electron JS Mac OS X构建失败

angular - 远程 Angular 应用程序和 Electron 桌面应用程序之间的通信

reactjs - 在Electron中捆绑的React应用中使用axios进行的API调用返回400

node.js - Electron 无法在 Raspberry Pi 3b+ 中使用 <audio> Html5 标签播放 mp3 音频文件

javascript - 目标不是Electron-React-Typescript-Webpack应用程序中的DOM元素

javascript - 使用密码连接数据库的最佳方式是什么?

node.js - 如何在聚焦于另一个程序后打开 Electron 窗口时聚焦于它