如何在Chrome扩展程序中最小化/最大化事件时检测窗口?

时间:2013-12-26 12:59:47

标签: javascript google-chrome-extension

我需要在使用Google Chrome扩展程序最小化/最大化浏览器窗口时捕获该事件。怎么做?

1 个答案:

答案 0 :(得分:3)

要知道给定窗口是否最小化/最大化,只需使用chrome.windows.get

// assume windowId is given
chrome.windows.get(windowId, function(chromeWindow) {
    // "normal", "minimized", "maximized" or "fullscreen"
    alert('Window is ' + chromeWindow.state);
});

没有事件告诉您窗口最小化/最大化。但是,您可以通过chrome.windows.onFocusChanged通知窗口焦点更改。此事件提供了一个ID,可以在我的答案顶部显示的方法中使用。请注意,有时可能会使用“-1”(chrome.windows.WINDOW_ID_NONE)调用它。在这种情况下,只需假设窗口最小化。

chrome.windows.onFocusChanged.addListener(function(windowId) {
    if (windowId === -1) {
         // Assume minimized
    } else {
        chrome.windows.get(windowId, function(chromeWindow) {
            if (chromeWindow.state === "minimized") {
                // Window is minimized
            } else {
                // Window is not minimized (maximized, fullscreen or normal)
            }
        });
    }
});