Я пытался создать расширение chrome, которое будет l oop на всех страницах, нажимая кнопку «Обновить» для каждого добавления, у которого есть активированная кнопка обновления. Задача должна продолжаться после каждой перезагрузки страницы до тех пор, пока все объявления не будут обновлены. После завершения задачи она выдаст предупреждающее сообщение с сообщением о том, что оно выполнено. L oop работает, но когда он достигает последней страницы, он завершает задачу и возвращается к предыдущей странице вместо отправки предупреждения. Это то, что у меня есть на данный момент: это фон . js
console.log('background running');
chrome.browserAction.onClicked.addListener(buttonClicked)
function buttonClicked(tab) {
let msg = {
txt: "hello"
}
chrome.tabs.sendMessage(tab.id, msg)
}
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hi")
sendResponse({ farewell: "goodbye" });
})
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (changeInfo.status == 'complete' && tab.status == 'complete') {
{
chrome.tabs.sendMessage(tab.id, { txt: "hello" });
}
}
})
содержание. js
console.log("chrome extension go");
chrome.runtime.onMessage.addListener(gotMessage)
function gotMessage(message, sender, sendResponse) {
console.log(message.txt);
var buttonList = document.querySelectorAll('.bttn-only-border');
if (buttonList.length) {
buttonList.forEach(btn => btn.click())
chrome.runtime.sendMessage({ greeting: "hi" }, function(response) {
{ console.log(response.farewell) }
})
let next = document.querySelectorAll('.js-handle-click-ctr');
next.forEach(btn => btn.click());
} else {
let next = document.querySelectorAll('.js-handle-click-ctr');
next.forEach(btn => btn.click());
}
chrome.runtime.sendMessage({ greeting: "hi" }, function(response) {
{ console.log(response.farewell) }
}
)
}