Greasy Fork is available in English.

No Yandex Ads [discontinued]

Удаляет рекламу из результатов поиска Яндекс. Removes ads in Yandex search results.

< Обсуждения No Yandex Ads [discontinued]

Вопрос/комментарий

news.yandex.ru/yandsearch

на страницах типа https://news.yandex.ru/yandsearch?cl4url=www.dp.ru/a/2015/09/08/Prospekt_Bolshevikov_pere/
справа пролезает столбец реклам я.директа. Вроде как убирается при таком варианте кода:
//=======================
// News ads
function removeNewsAds() {
var s = document.querySelectorAll('.story[id],.story__group[id],.document[id]');
for (var l = 0; l < s.length; l++)
if (window.getComputedStyle(s[l]).position === 'absolute')
s[l].parentNode.removeChild(s[l]);
if ((window.getComputedStyle(s[l]).min-width === '0') || (window.getComputedStyle(s[l]).max-width === '100%'))
s[l].parentNode.removeChild(s[l]);
}
//=======================

Спасибо за скрипты )

Lain inVerseАвтор
§
Создано: 12.09.2015
Отредактировано: 12.09.2015

Довольно странный код. Второй блок "if" находится не в цикле и потому когда до него доходит очередь l принимает значение на 1 больше, чем доступно элементов в массиве s. В результате s[l] в этом коде === undefined. В лучшем случае этот код просто не должен работать, а в худшем — приводить к падению скрипта из-за обращения к undefined.parentNode.

К сожалению конкретно там я рекламы не наблюдаю, а при поиске в новостях у меня скрипт рекламу режет. Хотя возможно это что-то специфичное для Maxthon.

Ответить

Войдите, чтобы ответить.