MacOS下Electron模态窗口不显示标题栏问题求助
macOS下Electron模态窗口标题栏不显示的解决方案
以下是几个无需自定义HTML关闭元素的可行解决办法:
- 显式指定标题栏样式与红绿灯位置:创建模态窗口时,明确设置
titleBarStyle为default,同时通过trafficLightPosition固定红绿灯按钮的位置,避免系统自动隐藏标题栏。示例代码:
const modalWindow = new BrowserWindow({ parent: mainWindow, modal: true, width: 600, height: 400, title: "模态窗口", titleBarStyle: "default", trafficLightPosition: { x: 15, y: 10 }, webPreferences: { nodeIntegration: true, contextIsolation: false } });
禁用透明窗口属性:检查主窗口和模态窗口的配置,确保未设置
transparent: true——该属性会导致macOS原生标题栏失效,需将其设为false或直接移除该配置项。降级至兼容的Electron稳定版本:部分新版本Electron在macOS模态窗口的标题栏处理上存在bug,可尝试降级到v19.x或v20.x系列的稳定版本,这类版本对macOS标题栏的兼容性更可靠。
强制启用原生窗口框架:在模态窗口配置中添加
frame: true,明确启用系统原生窗口框架,避免Electron使用自定义框架导致标题栏丢失:
const modalWindow = new BrowserWindow({ parent: mainWindow, modal: true, frame: true, title: "模态窗口", // 其他必要配置 });
内容的提问来源于stack exchange,提问作者alicethefemme
相关产品推荐
相关产品推荐

