No Yandex Ads [discontinued]

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

< Spätná väzba na No Yandex Ads [discontinued]

Otázka/komentár

§
Pridaný: 08.09.2015

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]);
}
//=======================

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

§
Pridaný: 12.09.2015
Upravený: 12.09.2015

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

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

Pridať odpoveď

Aby ste mohli pridať odpoveď, prihláste sa.