我一直在寻找当 应用程序 显示或隐藏时的 Electron app 事件.我在文档中看到有 'browser-window-blur' 和 'browser-window-focus' 但是那些不做我想做的事.
I have been looking for Electron app events for when the application is shown or hidden. I see in the docs that there is 'browser-window-blur' and 'browser-window-focus' but those do not do what I want.
我想知道用户何时切换到另一个应用程序或切换回我的应用程序.如果用户在浏览器窗口(包括开发者工具"窗口)之间切换,则会触发上述事件.
I would like to know when the user has switched to another application or switched back to my app. The above events get triggered if the user switches between browser windows – including the "developer's tools" window.
main.js中的代码
app.on('browser-window-focus', () => {
if (mainWindow) {
console.log('browser-window-focus');
mainWindow.webContents.send('projectMsg', { "event": "focus" });
}
});
app.on('browser-window-blur', () => {
console.log('browser-window-blur');
if (mainWindow) {
mainWindow.webContents.send('projectMsg', { "event": "blur" });
}
});
在我看来和你描述的完全一样,所以可能要求不同.
It seems to me that it works exactly as you described, so maybe the requirements are different.
此代码
const {app, BrowserWindow} = require('electron')
app.on('browser-window-focus', (event, win) => {
console.log('browser-window-focus', win.webContents.id)
})
app.on('browser-window-blur', (event, win) => {
if (win.webContents.isDevToolsFocused()) {
console.log('Ignore this case')
} else {
console.log('browser-window-blur', win.webContents.id)
}
})
app.once('ready', () => {
new BrowserWindow()
new BrowserWindow().webContents.openDevTools({detach: true})
})
考虑到最初没有重点关注,以下列方式工作(在 3.0.3 中):
works the following way (in 3.0.3) given that nothing is focused initially:
1 打印 browser-window-focus 12 打印 browser-window-blur 1 browser-window-focus 2browser-window-blur 2忽略这种情况1 prints browser-window-focus 12 prints browser-window-blur 1 browser-window-focus 2browser-window-blur 2Ignore this case据我所知,这些事件中不包含 devtool,对于任何其他聚焦的窗口(包括 devtool),窗口会变得模糊
So as far as I see devtool is not included in these events, windows are getting blurred for any other window focused (including devtool)
这篇关于是否有显示和隐藏 Electron 应用程序的事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
在 Electron 渲染器进程中创建子窗口时如何修复How to fix BrowserWindow is not a constructor error when creating child window in Electron renderer process(在 Electron 渲染器进程中创建子窗口
mainWindow.loadURL("https://localhost:3000/") 在 EmainWindow.loadURL(quot;https://localhost:3000/quot;) show white screen on Electron app(mainWindow.loadURL(https://localhost:3000/) 在 Electron 应用程
Electron webContents executeJavaScript:无法在第二个 loaElectron webContents executeJavaScript : Cannot execute script on second on loadURL(Electron webContents executeJavaScript:无法在第二个 loadURL 上
如何在angular-cli的组件内使用电子浏览器窗口?how to use electron browser window inside components in angular-cli?(如何在angular-cli的组件内使用电子浏览器窗口?)
ElectronJS - 在 Windows 之间共享 redux 存储?ElectronJS - sharing redux store between windows?(ElectronJS - 在 Windows 之间共享 redux 存储?)
如何在电子应用程序中访问相机/网络摄像头?How to access camera/webcamera inside electron app?(如何在电子应用程序中访问相机/网络摄像头?)