chrome.tabs.query状态:loading - >例外?

时间:2014-12-27 20:21:36

标签: javascript google-chrome-extension

我想为浏览器扩展程序的chrome.tabs.query状态创建一个例外。

我的代码目前看起来像这样:

chrome.tabs.query({
    "active":        true,
    "currentWindow": true,
    "status":        "loading",   // <-- this line
    "windowType":    "normal"
}, ...);

但对于 www.gmx.net www.web.de ,状态应为"complete"。谁能告诉我怎么能创建这个例外?

1 个答案:

答案 0 :(得分:0)

您可以url: []属性添加到查询信息,如下所示:

chrome.tabs.query({
    "active":        true,
    "currentWindow": true,
    "status":        "complete",
    "windowType":    "normal",
    "url": ["*://www.gmx.net/*", "*://www.web.de/*"]
}, ...);

上面的代码将检查已完成加载的选项卡,但仅检查 gmx.net web.de 上的选项卡。

然后,您可以合并这两个查询并使用相同的功能,如下所示:

function myFunction(tabs) {
    if (~tab.url.indexOf('www.gmx.net') || ~tab.url.indexOf('www.web.de')) {
        // the tab is on gmx.net or web.de and is complete
    } else {
        // the tab is not on gmx.net nor web.de and is still loading
    }
};

chrome.tabs.query({
    "active":        true,
    "currentWindow": true,
    "status":        "loading",
    "windowType":    "normal"
}, myFunction);

chrome.tabs.query({
    "active":        true,
    "currentWindow": true,
    "status":        "complete",
    "windowType":    "normal",
    "url": ["*://www.gmx.net/*", "*://www.web.de/*"]
}, myFunction);