問(wèn)題描述
我一直在尋找當(dāng) 應(yīng)用程序 顯示或隱藏時(shí)的 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.
我想知道用戶何時(shí)切換到另一個(gè)應(yīng)用程序或切換回我的應(yīng)用程序.如果用戶在瀏覽器窗口(包括開(kāi)發(fā)者工具"窗口)之間切換,則會(huì)觸發(fā)上述事件.
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" });
}
});
推薦答案
在我看來(lái)和你描述的完全一樣,所以可能要求不同.
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})
})
考慮到最初沒(méi)有重點(diǎn)關(guān)注,以下列方式工作(在 3.0.3 中):
works the following way (in 3.0.3) given that nothing is focused initially:
- 點(diǎn)擊窗口
1
打印browser-window-focus 1
- 點(diǎn)擊窗口
2
打印browser-window-blur 1 browser-window-focus 2
- 點(diǎn)擊devtools窗口打印
browser-window-blur 2
忽略這種情況
- Clicking on window
1
printsbrowser-window-focus 1
- Clicking on window
2
printsbrowser-window-blur 1 browser-window-focus 2
- Clicking on devtools window prints
browser-window-blur 2
Ignore this case
據(jù)我所知,這些事件中不包含 devtool,對(duì)于任何其他聚焦的窗口(包括 devtool),窗口會(huì)變得模糊
So as far as I see devtool is not included in these events, windows are getting blurred for any other window focused (including devtool)
這篇關(guān)于是否有顯示和隱藏 Electron 應(yīng)用程序的事件?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!