Firefox mozilla web 扩展:如何从后台页面知道选项卡何时完成加载

Firefox mozilla web extensions : How to know when a tab has finished loading, from the background page

我想在通过 mozilla 中的网络扩展加载页面后执行操作,

我在 chrome 中尝试了与下面相同的方法

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

但效果不佳 我在某些情况下没有获得 "complete" 状态,有时网页中有多个 iframe。

请问有什么办法可以查看天气页面加载完成吗?

您可以使用以下代码来解决您的问题:

browser.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    if (tab.status == "complete" && tab.active) { 
      // Perform you task after page loaded completely 
    }
}

我尝试了@wOxxOm 在评论中向我建议的方法,它也工作正常:

browser.webNavigation.onCompleted.addListener(function(details) {
    if (details.frameId == 0) {
        // Here you can perform tasks after page load completed
    }
});