Greasy Fork

Greasy Fork is available in English.

YandexAntiAdvertisement

Hides avertisement sites results from search results in yandexserch machine

目前为 2024-05-28 提交的版本,查看 最新版本

// ==UserScript==
// @name         YandexAntiAdvertisement
// @namespace    http://tampermonkey.net/
// @version      2.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("!!!");
    const li_elements = document.querySelector('ul#search-result').querySelectorAll('li'); //выбираем все списки с id=search-result, потом из них ищем все элементы списка в найденом списке
    //надо обаботать все элементы списка
    for(let i = 0; i < li_elements.length; i++)
    {
        const li_elem = li_elements[i]; //первый элемент списка
        var firstDiv = li_elem.querySelector('div'); //получаем вложенный элемент (единственный)
        //проверка на существование блока
        if(firstDiv != null)
        {
            var nextDiv = firstDiv.childNodes[1]; //получаем второй блок
            if(nextDiv)
            {
                var spans = nextDiv.querySelectorAll('span'); //находит два span'а
                //надо обработать все на значения
                for(let k = 0; k < spans.length; k++)
                {
                    if(spans[k].textContent == "Реклaма" || spans[k].textContent == "Pеклама")
                    {
                        //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'; //скрывает со смещением видимых элементов вверх
                    }
                }
            }
        }
    }
})();