火狐扩展:检查窗口是否最小化

Firefox extension: check if window is minimized

本文关键字:是否 最小化 窗口 检查 扩展 火狐      更新时间:2023-09-26

我正在尝试跟踪Firefox窗口的状态("最大化","最小化","正常","全屏";见这里)。但是,无论我尝试过什么,我都看不到最小化的事件;其他人做得很好。例如,如果我将侦听器添加到窗口,例如

window.addEventListener("activate", function(event) { dump("activate " + window.windowState + " " + window.screenX + " " + window.screenY + "'n"); }, false);
window.addEventListener("deactivate", function(event) { dump("deactivate " + window.windowState + " " + window.screenX + " " + window.screenY + "'n"); }, false);
window.addEventListener("resize", function(event) { dump("resize " + window.windowState + " " + window.screenX + " " + window.screenY + "'n"); }, false);

我从来没有看到 2 作为 window.windowState (2 = STATE_MINIMIZED)。我已经尝试了使用 screenX 和 screenY 的解决方法,但这没有帮助。当我最小化窗口时,停用 - 而不是调整大小 - 事件触发,window.windowState 为 3 (STATE_NORMAL) 和旧的 screenX/screenY 值。

有没有办法检测火狐窗口何时最小化?我已经到了我的智慧的尽头。

你应该听sizemodechange事件。这是在窗口最小化或最大化后触发的事件。resize 事件不会为窗口最小化而触发,因为从技术上讲,窗口不会调整大小 - 它是隐藏的。并且deactivate事件可能会在窗口最小化之前触发,当它仍然具有正常状态时(但是我没有检查)。