如何在不“切换”电子应用程序的情况下将窗口放到最前面?

时间:2018-12-10 08:39:45

标签: javascript electron

例如,假设用户以全屏模式打开了Chrome。然后,来自电子应用程序的弹出窗口会出现,但它会覆盖在铬屏幕上,而不是将屏幕切换到电子应用程序。

就像下面的VPN应用一样; enter image description here

我该怎么做?

2 个答案:

答案 0 :(得分:0)

要聚焦窗口,可以使用:window.show()

如果您在Mac上并且在不同的工作空间中,则不会显示。您需要在创建窗口时在窗口上运行window.setVisibleOnAllWorkspaces(true),然后在要显示时运行window.show()

show docs

setVisibleOnAllWorkspaces docs

答案 1 :(得分:0)

我找到了一个似乎可以解决此问题的解决方案!因此,这是假设您已经弄清楚了通常如何在全屏应用程序上方显示窗口。我遇到的问题是,当您尝试使一个新窗口进入视图时,即使该窗口配置为在全屏应用程序上方显示,它也会使您退出全屏显示。

解决这个问题的方法很简单:

mainWindow.hide()
mainWindow.show()

setTimeout(() => displayPopupWindow(data), 300)

在这种情况下,您的主窗口(可能是不可见的)在打开全屏应用程序的同时被赋予焦点,然后打开弹出窗口不会关闭全屏应用程序。