Я работаю над расширением FF, используя tabs.discard ... Затем, как только какая-либо вкладка будет отброшена, ее URL становится "about: blank"! Я хотел бы получить URL-адрес такой вкладки ...
Скажем, мое расширение запускается, когда вкладка отбрасывается, расширение не может получить доступ к реальному URL-адресу такой вкладки ...
//Extension starts
const tabs = new Map;
async (() => {
//Here I register some tabs regarding their urls
//If any tab has already been discarded when this happens, I would miss it 'cause its url would be 'about:blank'
(await browser.tabs.query({})).filter(tab => matching(tab.url)).forEach(tab => tabs.set(tab.id, tab));
browser.tabs.onUpdated.addListener((id, info, tab) => {
console.log(tab); //discarded: true, url: 'about:blank'
}, {
properties: ['discarded']
});
//I discard registered tabs to trigger the above listener
for (let tabId of tabs.keys()) browser.tabs.discard(tabId);
})();
Я подумал об использовании tabs.reload на вкладках, в которых в качестве своих URL-адресов и вкладок для брендинга имеется сессия с именем session.setTabValue внутри webNavigation.onBeforeNavigate, прежде чем отбрасывать их обратно! .. Но для меня это похоже на хак ... плюс я бы пропустил вкладки