четверг, 10 января 2013 г.

Userscript. Попытка убрать рекламу из radikal.ru

Попытался на днях разместить изображение на одном из хотингов, открыл radikal.ru и ужаснулся: огромное количество рекламы, скриптов, срабатывающих при нажатии мышкой в любом месте страницы... и прочих "радостей".

Решил попытаться написать скрипт удаляющий всю рекламу со страницы, заодно и улучшить свои знания JavaScript :). Сначала казалось все просто: пройтись по идентификаторам и поудалять ноды из дерева... Но, скрипт greasemokey срабатывает только после срабатывания эвента DOMContentLoaded, т.е. все странички и скрипты загрузились, выполнились и потом начинается процесс зачистки страницы.

Сразу же возник вопрос, а можно ли поудалять элементы до полной загрузки страницы. оказалось, что можно! Для этого необходимо добавить @run-at document-start в начало скрипта и далее отслеживать эвенты происходящие на странице.

Минус данной технологии в том, что userscript не всегда успевает сработать, до выполнения рекламного скрипта на обрабатываемой странице (изменения на странице) данный эффект, насколько я понял, называется flicker.

Установить получившееся творение можно отсюда: http://userscripts.org/scripts/show/156200

Комментариев нет:

Отправить комментарий