【发布时间】:2018-11-03 00:54:48
【问题描述】:
我希望能够在我的 Electron 应用程序中在有框和无框窗口之间切换,而无需构建新窗口。这是因为此选项与最初加载的视图不同,因此如果有办法将当前窗口更改为无框,那就太好了。
我发现window.setFullscreen() 可以在全屏模式之间切换。对于无框窗口,我找不到任何类似的东西。有没有我没有看到的这种方法或解决方法?
【问题讨论】:
我希望能够在我的 Electron 应用程序中在有框和无框窗口之间切换,而无需构建新窗口。这是因为此选项与最初加载的视图不同,因此如果有办法将当前窗口更改为无框,那就太好了。
我发现window.setFullscreen() 可以在全屏模式之间切换。对于无框窗口,我找不到任何类似的东西。有没有我没有看到的这种方法或解决方法?
【问题讨论】:
根据文档,您可以在创建浏览器窗口时启用或禁用窗口框架。之后,您将无法调用任何方法来启用或禁用框架。但是,如果您真的很想要该选项,则可能有一种解决方法。一种解决方法,很好,一种解决方法。
创建 2 个浏览器窗口,一个接一个。第一个是透明窗口(有框架和点击),第二个是你的内容窗口(没有框架)。
实施您的自定义解决方案以保持两个窗口的大小和位置同步。使用 ipc 在窗口之间共享数据。
切换透明浏览器窗口的可见性以显示/隐藏框架。
一些相关资源:
创建无框窗口:https://electronjs.org/docs/api/frameless-window#create-a-frameless-window
创建透明窗口:https://electronjs.org/docs/api/frameless-window#transparent-window
【讨论】: