Electron 窗口焦点变化检测:blur 事件失效的解决方法
当一个 Electron 窗口失去焦点时,会触发窗口的 'blur' 事件。然而,如果用户点击了另一个窗口,但是你的窗口仍然处于前台,那么 'blur' 事件并不会触发。
如果你想要检测用户是否切换了窗口,可以监听 'visibilitychange' 事件。当用户切换窗口时,浏览器会触发这个事件。你可以使用以下代码来监听 'visibilitychange' 事件:
document.addEventListener('visibilitychange', function() { if (document.hidden) { console.log('Window lost focus'); } else { console.log('Window regained focus'); } });
在这个例子中,我们使用 document.hidden 属性来检查窗口是否处于前台。如果 document.hidden 为 true,则表示窗口处于后台,用户正在与其他窗口交互。如果 document.hidden 为 false,则表示窗口处于前台,用户正在与你的窗口交互。
原文地址: https://www.cveoy.top/t/topic/or1J 著作权归作者所有。请勿转载和采集!