Greasy Fork

Greasy Fork is available in English.

YandexAntiAdvertisement

Hides avertisement sites results from search results in yandexserch machine

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

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