[mod] NoAds Advanced 1.3.2
Friday, May 27, 2011 9:20:00 AM
Расширение было опубликовано Gemorroj'ем в официальном каталоге расширений Оперы. Все дальнейшие вопросы в комментариях и багрепортах по этой ссылке. Эта запись останется только в исторических целях и для персональных модов.
Extension (Opera 11.10+ only):
noads-advanced-1.3.2b.oex
Added support of URL filter API and corresponding subscriptions, export settings as files and Opera MagicFunction/MagicVariable blocker support. Sure-kill until they actually fix something instead of display:none to block ads by selectors.
Добавлены экспорт настроек в виде файлов, Оперовская MagicFunction/MagicVariable для блокировки заданных функций/переменных и поддержка URL filter API: максимум, что можно выжать из Оперы пока не придумают аналога или не вернут старое поведение CSS атрибута display:none.
FAQ / ЧаВо: https://github.com/Dither/noads-advanced/wiki/
Project repository / Репозиторий проекта: https://github.com/Dither/noads-advanced
Extension (Opera 11.10+ only):
noads-advanced-1.3.2b.oex
Added support of URL filter API and corresponding subscriptions, export settings as files and Opera MagicFunction/MagicVariable blocker support. Sure-kill until they actually fix something instead of display:none to block ads by selectors.
Добавлены экспорт настроек в виде файлов, Оперовская MagicFunction/MagicVariable для блокировки заданных функций/переменных и поддержка URL filter API: максимум, что можно выжать из Оперы пока не придумают аналога или не вернут старое поведение CSS атрибута display:none.
FAQ / ЧаВо: https://github.com/Dither/noads-advanced/wiki/
Project repository / Репозиторий проекта: https://github.com/Dither/noads-advanced
Magical formulae example:Пример магических заклинаний:
##var GTracking ##var NO_msnads ##function poker_pp ##function print_download_ads ##function trackEvent ##function trackPageView ##function trackPageViewCustom ##function wmx_counter ##function wmx_track ##function wtslogExtensions->Manage extensions->...->Preferences:
On "Site preferences" menu item:
PS: Выкладывать в официальный каталог расширений, опять же, не собираюсь, т.к. это подразумевает поддержку расширения. I won't upload this to official extensions catalog as it assumes the extension support.
PPS: Codename «Merlin», lol.






1 2 Next »
BakLAN # Sunday, April 24, 2011 8:31:39 PM
Печально. Хотя мотивация ясна и понятна. Получается, что будущее NoAds туманно.
И, к стати, почему-то старый файл 00000000 не подхватывается. Так и должно быть?
DitherDitherSky # Sunday, April 24, 2011 8:57:45 PM
Кстати, до кучи инфа: большой urlfilter.ini = большие тормоза при веб-сёрфинге, так что лучше не увлекаться добавлением таких подписок (если оно работает
Rodny # Sunday, April 24, 2011 9:41:44 PM
Результат подписок urlfilter.ini должен быть виден в стандартном блокированном содержимом? Как проверить, работает оно или нет?
DitherDitherSky # Sunday, April 24, 2011 9:50:56 PM
Т.е. проверить можно временно переименовав старый urlfilter.ini при отключённой опере, затем добавить что-то родным контент-блокером для его пересоздания, загрузить подписку расширением и посмотреть один из сайтов из той подписки: должно писать, что веб-адрес заблокирован.
Rodny # Sunday, April 24, 2011 10:41:26 PM
DitherDitherSky # Monday, April 25, 2011 11:37:53 AM
Originally posted by http://www.opera.com/docs/apis/extensions/urlfilter/:
Похоже всё хуже, чем я ожидал. Надо было внимательнее прочитать описание - правила, как оказалось, временные, т.е. каждое расширение должно загружать всю тучу правил подписки при каждой загрузке с помощью javascript (девелоперы Оперы наверно подумали, что это верх быстродействия) и хранить все правила у себя (надо было называть API не URL Filter API, а Extension URL Filter Appendix).И получается, что Опера сама блокирует что-то из текущего списка добавленных через API правил, но что - я могу узнать лишь заново перепроверив скриптом все картинки страницы на соответствие фильтрам. А стандартный контент-блокер тут как бы не при чём.
Я немного хренею с них...
Unregistered user # Monday, April 25, 2011 1:06:21 PM
DitherDitherSky # Monday, April 25, 2011 1:23:38 PM
Rodny # Monday, April 25, 2011 1:27:06 PM
Рузанов это видел. К тому же он не планирует больше поддерживать свои оперные разработки.
Rombaromba # Monday, April 25, 2011 5:41:30 PM
BakLAN # Monday, April 25, 2011 6:44:55 PM
Unregistered user # Monday, April 25, 2011 7:02:42 PM
Rodny # Monday, April 25, 2011 7:10:12 PM
Originally posted by romba:
Поставить галку "Включено" на вкладке "Скрипты"
Originally posted by BakLAN:
Вверху страницы показывает все скрипты, которые затем можно зарезать штатным блокером.
DitherDitherSky # Monday, April 25, 2011 9:10:38 PM
Originally posted by DollarFalls:
Добавляет блокирующие CSS-правила без указанной привязки к домену (раздел фильтров "General element hiding rules") и правила состоящие только из доменов-исключений.Originally posted by BakLAN:
Метод DefineMagicFunction. Вкратце - блокирует отдельные JavaScript функции, генерирующие всякую ерунду вроде рекламы, снега, итп.PS: Обновил до 1.2.1 - добавлен интерфейс для работы с URL filter подписками.
BakLAN # Monday, April 25, 2011 10:47:26 PM
Originally posted by DitherSky:
Т. е. не целый скрипт, а лишь его часть. Ясно.
Originally posted by DitherSky:
Вот видишь, уже новую версию выпустил... уже на поддержку становится похоже...
DitherDitherSky # Tuesday, April 26, 2011 5:22:58 AM
Originally posted by BakLAN:
Поддержка и развитие не синонимы. Пока мне эта тема интересна, я попытаюсь сделать расширение максимально удобным, но это не значит, что удобным для всех. Так же это не значит, что я обязуюсь отвечать на вопросы типа "почему расширение/сайт/что-то-ещё не работает", "как включить блокер скриптов", "как это настроить для..." итп.BakLAN # Tuesday, April 26, 2011 3:23:24 PM
Originally posted by DitherSky:
Та оно не может быть удобным для всех в принципе. Например, хотя бы по той причине, что нужно шарить синтаксис (хотя-бы немного) CSS. А это многих может отпугнуть. Хотя в моём случае этого не случилось, хоть я его и не шарю
Originally posted by DitherSky:
Так LEX тоже вроде не обязовался. Разве создание плагинов и их обновление - не добрая воля их авторов?
DitherDitherSky # Tuesday, April 26, 2011 3:41:13 PM
PS: Обновление до 1.2.1b - ранее я немного перестарался с проверками, так что URL filter не работал. URL filter has been mostly fixed in version 1.2.1b.
DitherDitherSky # Thursday, April 28, 2011 2:51:57 PM
Originally posted by Анонімний:
Невозможно: URL filter API доступен только расширениям, к тому же у них другая система обмена сообщениями.PS: Переношу глобальные настройки в свойства расширения вместо кнопки и провожу рефакторинг. Правда ещё довольно нестабильно работает, хотя и пошустрее.
http://files.myopera.com/DitherSky/blog/shotsite.PNG -
ПавелGemorroj # Thursday, April 28, 2011 4:51:46 PM
и вообще спасибо что расширение так здорово допиливаете.
А на счет того что что поддерживать не собираетесь, так вы уже и так больше сделали чем авторы некоторых расширений в официальном репозитории когда либо сделают.
Rombaromba # Thursday, April 28, 2011 6:51:04 PM
crash1 # Thursday, April 28, 2011 6:59:25 PM
добрый день. Возник вопрос по методам "избавления от рекламы": есть ли возможность не скрывать элементы на странице, а, скажем, грузить html в некий буфер (до передачи браузеру/парсеру) "анализировать" на рекламу, удалять ее из html и передавать браузеру/парсеру средствами API расширений опера?
это позволило не расходовать трафик на загрузку всей рекламы + ускорить процесс и обработки страниц расширением... ибо сейчас при долгой работе браузера расширение не всегда скрывает то, что скрывало сразу после старта браузера...
DitherDitherSky # Thursday, April 28, 2011 7:57:01 PM
@crash1: Поставьте фильтрующий прокси вроде Proxomitron или Privoxy, они решают именно эту задачу. Если бы что-то подобное можно было сделать через API это бы уже давно сделали.
crash1 # Friday, April 29, 2011 5:36:26 AM
PS спасибо за разъяснение, может opera расширит функционал API расширений, будем ждать )
BakLAN # Friday, April 29, 2011 3:16:51 PM
Originally posted by DitherSky:
Правда, что теперь более не нужно выставлять в opera:config квоту для webstorage чтобы плаг работал?
DitherDitherSky # Wednesday, May 4, 2011 9:07:33 PM
Flash-блокера по умолчанию не будет, слишком неудобно его теперь реализовывать без блокирующих свойств display:none. Будет перечисление тегов object, embed и param[name=movie/flashvars] в Помощнике блокировки, чтобы можно было вырезать такие объекты с помощью URL-filter в индивидуальном порядке.
PS: Всё вроде доделал, провожу базовое тестирование. Из нововведений - всё вышеназванное, показывает всё что будет удаляться при клике на одном элементе без шифта, игнорирование атрибута onclick и дефолтного поведения ссылок при блокировке, отключение кнопки в тулбаре (хз зачем, но довольно легко было сделать), другие стили элементов управления, "Помощник" показывает так же все CSS атрибуты url()-типа и расширение отключается на некоторых сайтах-бенчмарках (на acid3 100/100 при рабочем расширении).
DitherDitherSky # Friday, May 6, 2011 3:31:24 PM
Unregistered user # Friday, May 6, 2011 5:28:47 PM
DitherDitherSky # Friday, May 6, 2011 5:31:59 PM
Ivan GrigorievPlaybobrik # Friday, May 6, 2011 7:19:09 PM
Unregistered user # Friday, May 6, 2011 7:29:59 PM
DitherDitherSky # Friday, May 6, 2011 7:30:41 PM
@BakLAN: С кнопками всё как раньше, я просто изменил описание чтобы было очевиднее действие пунктов (хелп, правда, на эту тему не поправил
Shift+Alt+A - general
Shift+Alt+B - accurate
Общие настройки без понятия как сделать, чтобы вызывались по хоткею.
BakLAN # Friday, May 6, 2011 7:39:50 PM
Originally posted by DitherSky:
Хм... я что-то не совсем правильно понимаю... Раньше для "А" была блокировка Эдса, т.е. баннера, а для "В" - элемента, т. е., таблицы, в которой Эдс находится.
Теперь мне казалось, что General создаёт правило для любого сайта, т. е. чтобы потом не повторять правило для каждого сайта, на котором встречается какой-то эдс, а accurate - сугубо для конкретного текущего по аналогии со встроенным блокировщиком Оперы, который пишет в urlfilter.
Но теперь я совершенно запутался... Ничё не понимаю...
Ivan GrigorievPlaybobrik # Friday, May 6, 2011 7:49:37 PM
DitherDitherSky # Friday, May 6, 2011 7:54:23 PM
Правила создаются, как в оригинале, посайтово. Если нужно чтобы работало для других доменов нужно убрать домен перед значком ## в выбранном правиле. Как и раньше block ads, пункт general rule просто генерирует правило с менее чётким указанием CSS-селектора, чем accurate rule, который ранее назывался block element.
Kamikaze5 # Friday, May 6, 2011 7:57:24 PM
Скажи, возможно ли сделать так, чтобы после использования функции "Site Prefences", фокус не перемещался на начало страницы, а возвращался на тоже место, где и была вызвана вышеприведенная функция? Или это особенности работы расширений? Ибо, при использовании JS+кнопка_на_панели именно так и происходит.
DitherDitherSky # Friday, May 6, 2011 8:01:29 PM
Если хотите убрать такое поведение, нужно закомментировать ( // перед началом) строки window.scrollTo(0, 0); в noads-options.js.
Ivan GrigorievPlaybobrik # Friday, May 6, 2011 8:05:59 PM
DitherDitherSky # Friday, May 6, 2011 8:15:02 PM
Ivan GrigorievPlaybobrik # Friday, May 6, 2011 8:22:20 PM
Unregistered user # Saturday, May 7, 2011 4:59:01 AM
Unregistered user # Saturday, May 7, 2011 5:16:56 AM
crash1 # Saturday, May 7, 2011 7:18:03 AM
почему так происходит и как побороть?
Ivan GrigorievPlaybobrik # Saturday, May 7, 2011 9:36:17 AM
Originally posted by crash1:
Эта детская болезнь расширения, всегда такое случалось, где-то про проблемы с памятью читал на этот счет.
DitherDitherSky # Saturday, May 7, 2011 10:07:25 AM
@Joks: I'll try to fix the code a bit to block more click variations. If it still doesn't ignore them during blocking then I don't really know what else I can do. Also it generally can't ignore clicks inside iframes/objects. Solution for the last one is unknown to me.
@Ivan Grigoriev: Кстати да, у оригинала ещё были заявленные баги с Оперой. Если честно, я не настолько знаю JS, чтобы разобраться в случае если код может вызвать такое поведение без ошибок. Вообще было бы интересно понять откуда это идёт, хотя если это JS-движок Оперы тут будет нереально что-то исправить.
@crash1: upd: Ошибок в логе, по которым можно понять, что происходит - нет. Возможно и правда какая-то специфика или баги JS-движка Оперы влияют.
Unregistered user # Saturday, May 7, 2011 12:24:52 PM
DitherDitherSky # Saturday, May 7, 2011 12:29:18 PM
Unregistered user # Saturday, May 7, 2011 12:54:06 PM
DitherDitherSky # Saturday, May 7, 2011 1:12:18 PM
Ivan GrigorievPlaybobrik # Friday, May 27, 2011 4:16:38 PM
Originally posted by Snap:
Его на включить на соответствующей вкладке в настройках расширения, я тоже с этим сталкивался) Не совсем понимаю, почему по умолчанию скрипты не блокируются
У меня 2 вопроса:
1) Что за кнопка на вкладке скриптов "показать/убрать кнопку быстрого доступа"? Здесь опять таки не помешала бы цветовая индикация как на всех других кнопках
2) Как работает экспорт настроек в виде файла? У меня при нажатии на кнопку "экспорт" открывается вкладка с адресом типа "data:text/plain;charset=UTF-8;base64,(рандомный набор символов)", содержащая всё то же, что и в соответствующем поле в настройках расширения. Не совсем понял данный функционал. Скопировать то я могу и из этого поля не открывая отдельной вкладки) Если подразумевалось сразу сохранение в файл, то у меня почему-то не работает