我正在为我的 React/Electron 应用程序创建一些自定义的 MacOS“交通灯”。我已经设法让“关闭”和“最小化”按钮正常工作,但是,我的“最大化”(绿色)按钮会全屏显示,但当再次单击它时,它不会恢复正常。
这是我为按钮调用的函数编写的代码:https://sourceb.in/8f930dc034.js
如有任何帮助或建议,我们将不胜感激。
最佳答案
尝试使用 currentWindow.isFullScreen()
而不是 currentWindow.isMaximized()
。
您正在使用 currentWindow.isMaximized()
检查您是否全屏显示,而您应该使用 currentWindow.isFullScreen()
。
请参阅文档:currentWindow.isFullScreen()
旧答案:
我在创建自己的红绿灯时也遇到了问题,但事实证明 Electron 可以使用 titleBarStyle
选项为您完成此操作。
使用方法:
var winObj = new BrowserWindow({
titleBarStyle: 'hidden',
});
这将在右上角窗口创建一些原生交通信号灯。
以下是 titleBarStyle
选项的不同值:
默认
- 生成标准的灰色不透明 Mac 标题栏。
隐藏
(示例中使用)。
- 导致隐藏的标题栏和全尺寸内容窗口,但标题栏左上角仍有标准窗口控件(“红绿灯”)。
hiddenInset
- 导致隐藏的标题栏具有另一种外观,其中红绿灯按钮稍微从窗口边缘插入。
尝试一下,看看什么对您有用。
请参阅 BrowserWindow
options 的文档(搜索 titleBarStyle
)。
关于javascript - 使用 JS 在 MacOS 上全屏最大化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59569056/