javascript - 使用 JS 在 MacOS 上全屏最大化

标签 javascript reactjs macos electron

我正在为我的 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/

相关文章:

javascript - 页面刷新后 react 路由器找不到页面

macos - 从 XPC bundle 中检索沙箱权利

javascript - 如何消除两个 jQuery 插件之间的冲突?

javascript - jQuery 小部件没有方法 "extend"

javascript - Vuex - 调用异步函数

javascript - 将 material-ui 为子组件生成的样式放在为父组件生成的样式之后?

reactjs - 我可以更改图表中 YAxis 中特定值的样式吗?

python - 采样/分析 PyObjC 应用程序的最佳方法是什么?

macos - 将整数附加到字符串 Bash 脚本 OSX

php - 我可以同时使用 PHP 和 JavaScript Facebook API 吗?