谷歌浏览器:如何获取“最小化”事件?

时间:2013-07-21 19:08:40

标签: javascript google-chrome javascript-events google-chrome-extension

我尝试在窗口状态发生变化时获取所有事件。到目前为止,我使用的内容脚本向窗口添加了“调整大小”侦听器:window.onresize = function() {...}。这允许我在窗口的状态变为“正常”,“最大化”和“全屏”时获取。

但是,我不知道该做什么也能“最小化”。最小化窗口不会触发“调整大小”事件。我尝试使用onFocusChanged API添加一个监听器,即chrome.windows.onFocusChanged.addListener(function(windowId) {...}));,但它有它的问题。首先,如果我最小化的窗口具有焦点windowId = -1 (chrome.windows.WINDOW_ID_NONE),那么我无法获取窗口以读取其状态。其次,如果窗口没有焦点,则不会触发onFocusChanged事件。

简而言之,我如何检测Chrome窗口何时被最小化。非常感谢任何提示

1 个答案:

答案 0 :(得分:0)

我认为这可能会有所帮助:

chrome.windows.onFocusChanged.addListener(function() {
    console.log("Focus changed.");

    chrome.windows.getCurrent(function(window){
        console.log(window.state);
        if(window.state == "normal") {
            console.log("It's normal.Stop the watch.");
        } else if(window.state == "maximized"){
            console.log("It's maximized.Start the watch.");
        } else if(window.state == "minimized"){
        console.log("It's minimized.Start the watch.");
        }
    });
});