В настоящее время я запускаю сценарий chrome extension background.js. Внутри этого скрипта находится асинхронная функция, которая запускается в цикле for. В середине этой функции она переходит к URL-адресу, который затем запускает скрипт содержимого
Вот как выглядит цикл for:
var atc_count = 1;
for (i = 0; i < data.count; i++) {
console.log("waiting for getItem");
await getItem(atc_count);
atc_count++;
}
В настоящее время я запускаю сценарий chrome extension background.js. Внутри этого скрипта находится асинхронная функция, которая запускается в цикле for. В середине этой функции она переходит к URL-адресу, который затем запускает скрипт содержимого
В середине функции я хочу отправить сообщение в скрипт содержимого atc_count, скрипт контента берет atc_count и что-то с ним делает
Вот что я попытался в фоновом скрипте отправить atc_count в скрипт контента:
chrome.tabs.query({ currentWindow: true, active: true }, function(tab) {
chrome.tabs.update(tab[0].id, { url: color_url }, () => { // tab.id
chrome.tabs.sendMessage(tabs[0].id, {atc_count: atc_count}, function(response) {
console.log(response.go);
resolve("Updated the tab");
});
});
});
затем попытался получить сообщение в скрипте содержимого с помощью:
chrome.runtime.onMessage.addListener(
function(message, sender, sendResponse) {
console.log(message.atc_count);
sendResponse({go: "atc done!"});
});
Это не работает.
Я хочу отправить atc_count из фонового скрипта в скрипт контента, когда этот скрипт контента получает это сообщение, он должен что-то делать с atc_count, затем, когда это будет сделано для sendResponse назад и когда фоновый скрипт получит это (sendResponse ) он знает, что скрипт содержимого завершен и продолжает свой цикл.
Так что я хочу, чтобы он использовал скрипт контента один раз во время каждого цикла, при этом только atc_count изменялось с использованием каждого цикла.
Пожалуйста, lmk, если вам нужны более подробные разъяснения по моей проблеме.
Спасибо, что нашли время, чтобы прочитать это, и я надеюсь, что вы можете мне помочь. Спасибо <3! </p>