Попытка кодирования рекламного блокировщика для определенного веб-сайта.
У меня уже есть код, который удаляет рекламу на главной странице, но он все еще работает, например, на страницах с фильмами. И это приводит к удалению информационного раздела с постером и всем остальным. Итак, я хочу, чтобы этот конкретный фрагмент кода запускался на домашней странице. это может быть https://net.adjara.com/ или https://net.adjara.com/Home. Этот веб-сайт является AJAX, он загружается один раз и все.
Это код, который удаляет рекламу на главной странице:
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.message === 'Homepage') {
var timer = setInterval(deletor, 1);
function deletor() {
timer;
var slider = document.querySelector("#slider-con");
var bannerTop = document.querySelector("#MainContent > div:nth-child(2)")
var bannerMiddle = document.querySelector("#MainContent > iframe");
var bannerRandom = document.querySelector("#MainContent > div:nth-child(3)");
if (slider) {
slider.parentNode.removeChild(slider);
}
if (bannerTop) {
bannerTop.parentNode.removeChild(bannerTop);
}
if (bannerMiddle) {
bannerMiddle.parentNode.removeChild(bannerMiddle);
}
if (bannerRandom) {
bannerRandom.parentNode.removeChild(bannerRandom);
}
};
} else {
return false;
}
})
Это скрипт bg, который отправляет сообщение:
chrome.tabs.onUpdated.addListener(function
(tabId, changeInfo, tab) {
// read changeInfo data and do something with it (like read the url)
if (changeInfo.url == "net.adjara.com" || "net.adjara.com/Home" || "net.adjara.com/Home/") {
chrome.tabs.sendMessage( tabId, {
message: "Homepage",
url: changeInfo.url
})
console.log("successful!");
} else if (changeInfo.url == "net.adjara.com/Movie/main*" || "net.adjara.come/Movie/*"){
console.log("Movie page");
} else {
return false;
}
}
);
Я добавил console.log и похоже, что он работает при каждой загрузке страницы, но также выглядит как кодвсе еще работает на других поддоменах.
Я хочу, чтобы этот код запускался только на домашней странице. Для других я напишу другой пользовательский сценарий, который будет применяться только к поддоменам фильмов.
Я думаю, что упускаю что-то важное.