代码之家  ›  专栏  ›  技术社区  ›  Omiod

Chrome extensions:如何从后台页面知道选项卡何时完成加载

  •  39
  • Omiod  · 技术社区  · 16 年前

    chrome.tabs.onUpdated.addListener(function (tabId) { })
    

    2 回复  |  直到 9 年前
        1
  •  93
  •   Preview 2pha    9 年前

    幸运的是,我们找到了解决办法。

    有一个 additional parameter 保存状态值的:

    chrome.tabs.onUpdated.addListener(function (tabId , info) {
      if (info.status === 'complete') {
        // your code ...
      }
    });
    

    loading complete .

        2
  •  20
  •   Chad Cache    9 年前

    我想在打开一个标签后用一种更简单的方法来做这件事

    function createTab (url) {
        return new Promise(resolve => {
            chrome.tabs.create({url}, async tab => {
                chrome.tabs.onUpdated.addListener(function listener (tabId, info) {
                    if (info.status === 'complete' && tabId === tab.id) {
                        chrome.tabs.onUpdated.removeListener(listener);
                        resolve(tab);
                    }
                });
            });
        });
    }
    

    是的

    let tab = await createTab('http://google.com');