Здравствуйте. Расширение хром mainfiest v3 servece_worker проходит по адресам по списку когда вкладка обновилась инжектится файл, выполняет логику шлет месседж вокеру, новый адрес новый инжект Иногда при успешном обновлении вкладки с новым адресом приходит два сообщения complete и инжектится дважды что ломает логику внедрённого скрипта
var hrefm="адрес"
async function secondStart () {
let wcall=false;
let delCount=0;
const tab = await chrome.tabs.update({url: hrefm});
const tabId = tab.id;
console.log(tabId,wcall);
if(tab.status!="complete"&&!wcall) await onTabUrlUpdated1(tabId);
wcall=true;
console.log(delCount,wcall);
delCount++;
const results = await chrome.scripting.executeScript({
target: {tabId},
files: ['js/myyinject.js']
},
() => {
console.log("myyinject");
});
}
function onTabUrlUpdated1(tabId) {
return new Promise((resolve, reject) => {
const onUpdated1 = (id, info) => {
console.log(info.status);
id === tabId && info.url && done(true)
};
const onRemoved1 = id => id === tabId && done(false);
chrome.tabs.onUpdated.addListener(onUpdated1);
chrome.tabs.onRemoved.addListener(onRemoved1);
function done(ok) {
chrome.tabs.onUpdated.removeListener(onUpdated1);
chrome.tabs.onRemoved.removeListener(onRemoved1);
(ok ? resolve : reject)();
}});}