javascript - Firefox 扩展 : check if window is minimized

标签 javascript firefox firefox-addon dom-events

我正在尝试跟踪 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/

相关文章:

firefox - 在 Centos 7 虚拟机中从 Bamboo 运行 selenium webdriver 测试时出现 NotConnectedException 错误

javascript - nsISocketTransportService 使用 Firefox 插件 sdk

javascript - 如何查找页面外的元素

javascript - 一张Cesium Map可以显示多少个点?

javascript - 为使用相同处理程序动态创建的每个组件创建单独的状态

javascript - 如何在 Firefox 扩展中使用 "targetObj"参数到 loadSubScript()?

javascript - Firefox 中未定义 IMG1

javascript - jQuery addClass 之后/之前

javascript - "Leave this Page"按钮点击时重定向

firefox - 在自己的协议(protocol)处理程序中加载本地文件时出现安全错误