【发布时间】:2020-09-30 19:15:51
【问题描述】:
我想在我的 Electron 应用程序中有多个窗口,每个窗口都应该有自己的 applicationMenu。但是当我打开一个新窗口时,reload 和openDevTools 等应用程序菜单中的功能仅适用于刚刚打开的最后一个窗口。
为什么会这样?
代码示例:
app.on('ready',() => {
createWindow();
});
ipcMain.on('open-new-window',() => {
createWindow();
});
function createWindow() {
const window = new BrowserWindow({
width:900,
height:700,
webPreferences: {
nodeIntegration: true
}
});
window.loadUrl('index.html');
const menu = Menu.buildFromTemplate([{
label: "dev",
submenu: [{
label: "Refresh HTML",
click: () => {
window.reload();
}
}]
}]);
Menu.setApplicationMenu(menu);
}
当我从ipcMain 打开一个新窗口时,reload() 函数仅在上次打开的窗口中有效。我是在第一个窗口还是第二个窗口中单击“刷新 HTML”。
【问题讨论】:
标签: javascript electron