Chrome扩展程序:如何从背景页面知道选项卡何时完成加载

我在后台页面中使用一个监听器来知道何时加载一个标签:

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

但是这个监听器被激发了两次:页面开始加载,页面完成。有没有办法区分这两种情况?

幸运的是find了解决办法。

还有一个附加参数可以保存状态值:

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

状态可以是loadingcomplete

打开选项卡后,我想要一个更简单的方法来做到这一点

 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');