【发布时间】:2020-11-24 19:53:58
【问题描述】:
我正在尝试通过调用 mainWindow.minimize() 来最小化 ElectronJS 2.0.2 中的全屏无框架 BrowserWindow (mainWindow),但没有任何反应。
如果我尝试通过调用 myWindow.close() 来关闭它,它可以正常工作。
-
mainWindow.isMinimizable()是真的 -
mainWindow.isMinimized()仍然是错误的 - 不抛出异常
这是一个代码示例:
mainWindow = new BrowserWindow(
{
backgroundColor: backgroundColor,
frame: false,
fullscreen: true,
icon: path.join(__dirname, 'assets/icons/png/64x64.png'),
kiosk: true,
title: 'Title',
webPreferences: { session: ses, webSecurity: false },
width: width, height: height,
});
mainWindow.setMenu(null);
mainWindow.setAutoHideMenuBar(true);
mainWindow.setMenuBarVisibility(false);
mainWindow.setAlwaysOnTop(true);
ipcMain.on('minimize-window', () => {
console.log('is minimizable: ', mainWindow.isMinimizable()); // true
console.log('is minimized: ', mainWindow.isMinimized()); // false
mainWindow.minimize();
console.log('is minimized: ', mainWindow.isMinimized()); // false
});
你知道为什么会这样吗?
【问题讨论】:
-
你能显示你正在使用的代码吗?
-
请将代码中您调用
mainWindow.isMinimizable()的部分贴出来。我在您当前的代码中没有看到任何对它的引用。 -
我在调用 mainWindow.minimize() 之前调用它只是为了测试目的。
-
使用您的确切代码,它仍然按预期工作。 (旁注:不要指望
isMinimized立即更改,它是操作系统消息驱动的) -
我部分找出了问题所在。仅当我在 BrowserWindow 中呈现 react-modal 组件时,minimize() 才起作用。如果我关闭它,它就会起作用。我不知道为什么会这样。
标签: javascript reactjs electron