Glo Glorius

+8
с 2018
1 подписчик
31 подписка

Уоррен, возникла идея ) В настройках дополнения сделать возможность выбирать как отображать рекламные блоки - скрывать, выделять цветом или бордер добавить. И какие сервисы Яндекса оставить, не убирать из выдачи. Допустим, я не против Яндекс.Карт, хочу их оставить.

Спасибо ) Можно конечно. Если будете публиковать - укажите мое соавторство )

Точно, спасибо. У всех первых элементов есть атрибут 'data-first-snippet'. Исключаем его )


for (let e of elem) { 
    let l_attr = e.attributes.length 
    for (let attr of e.attributes) { 
        if (attr.name == 'data-first-snippet') l_attr = l_attr - 1; 
    }
    if (l_attr > 4) e.style.background = '#fffacd'; 
}

2

Уоррен, элементы выдачи Яндекса содержат разное количество атрибутов. У рекламных блоков и блоков от разных Яндекс услуг их больше. Если ориентироваться на количество атрибутов получается интересно: 


for (let e of elements) { 
    if (e.attributes.length > 4) { 
        e.style.background = '#fffacd';
    }
}

Я тоже об этом подумал. У меня не стоит и судя по скрину Yuri Trenin  - у него тоже не установлен. Сейчас поставлю AdBlock, посмотрю, что меняется )

1

Уоррен, посмотрите код блока, который содержит слово "реклама".

Это мой вариант:

let elements = document.querySelectorAll('.label_theme_direct');
for (let elem of elements) { 
    elem.style.background = '#FF0000';
    let par = elem.closest('li'); 
    par.style.background = '#fffacd'; 
}

Если так, то будет ваша задумка:

let elements = document.querySelectorAll('.label_theme_direct');
for (let elem of elements) { 
    let par = elem.closest('li');
    par.style.display = 'none';
}

1

Я себе такое набросал ) Выделяет рекламные блоки и слово "реклама" другим цветом.

1