我正在尝试跟踪 Firefox 窗口的状态(“最大化”、“最小化”、“正常”、“全屏”;参见 here)。但是,无论我尝试过什么,我都看不到最小化的事件;其他人都很好。例如,如果我向窗口添加监听器,例如
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 值。
有什么方法可以检测 Firefox 窗口何时被最小化?我束手无策。
最佳答案
您应该收听 sizemodechange
事件。这是窗口最小化或最大化后触发的事件。 resize
事件不会为窗口最小化而触发,因为从技术上讲窗口没有调整大小——它是隐藏的。 deactivate
事件可能会在 窗口最小化之前触发,此时窗口仍处于正常状态(不过我没有检查)。
关于javascript - Firefox 扩展 : check if window is minimized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10767068/