这是我传递给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/