Greasy Fork is available in English.
Hides avertisement sites results from search results in yandexserch machine
当前为
// ==UserScript==
// @name YandexAntiAdvertisement
// @namespace http://tampermonkey.net/
// @version 3.0
// @description:ru Скрывает из результатов поиска яндекса ссылки на сайты, помеченные как реклама
// @description Hides avertisement sites results from search results in yandexserch machine
// @author Kloshar
// @match https://ya.ru/*
// @match https://yandex.ru/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
(function() {
'use strict';
//console.log("!!!");
window.addEventListener("load", (event) => {
//console.log("page is fully loaded");
try //блок поиска проплаченных ссылок
{
//console.log("В блоке try");
const li_elements = document.querySelector('ul#search-result').querySelectorAll('li'); //выбираем все списки с id=search-result, потом из них ищем все элементы списка в найденом списке
console.log("Lenght of li_elements is:", li_elements.length); //получили 19 элементов списка
//надо обаботать все элементы списка
for(let i = 0; i < li_elements.length; i++)
{
const li_elem = li_elements[i]; //первый элемент списка
//console.log(i + " " + li_elem); //название элемента
let firstDiv = li_elem.querySelector('div'); //получаем вложенный элемент (единственный)
//console.log("firstDiv: ", firstDiv);
//проверка на существование блока и наличия у него вложенного элемента
if(firstDiv != null && firstDiv.childNodes.length > 1)
{
//console.log("Lenght of firstDiv.childNodes is: ", firstDiv.childNodes.length);
let nextDiv = firstDiv.querySelector('div.Organic-Subtitle');
//console.log('nextDiv=', nextDiv);
if(nextDiv) //проверка на null
{
//console.log('ok');
var spans = nextDiv.querySelectorAll('span'); //находит два span'а
//надо обработать все на значения
for(let k = 0; k < spans.length; k++)
{
//console.log(spans[k].textContent);
if(spans[k].textContent == "Реклaма" || spans[k].textContent == "Pеклама" || spans[k].textContent == "Peкламa")
{
console.log("Элемент скрыт: " + spans[k].textContent);
//console.log(typeof(spans[k].textContent));
//console.log(spans[k].textContent == "Реклaма");
li_elem.style.backgroundColor = "gray";
//li_elem.style.visibility = 'hidden'; //скрывает, но оставляет пустое место
li_elem.style.display = 'none'; //скрывает со смещением видимых элементов вверх
}
else
{
//console.log("Элемент не скрыт: " + spans[k].textContent);
}
}
}
}
}
} //end try //блок поиска проплаченных ссылок
catch(ex)
{
console.log(ex)
}
}); //end window.addEventListener("load"
})();