Lain_13
Или его всё никак не пометят как *OBSOLETE*?
Я для себя так и пометил и ссылки "забыл", а потому больше не интересуюсь и не скажу про состояние. В прошлом году ещё приходилось убеждать, что ABP - это оно же, но лучше, а сейчас даже и странно.
Отсутствует
Это ещё ничего, некоторые небось до сих пор Filterset.G с его апдейтером хранят...
Хотя с ним ситуация прямо таки кристально ясная (даже на AMO указана).
Отредактировано Lain_13 (22-07-2009 15:02:28)
Отсутствует
А у меня небольшой вопрос к Владимиpу Паланту, как к разработчику расширения и человеку, знающему свой продукт вдоль и поперёк:
С версии 1.1 (если не ошибаюсь) появилась новая функция при написании фильтров: "Accept pattern only:..." "at the beginning of the domain name", при использовании которой появляется символ "|" (pipe) в начале фильтра (назначение функции, я думаю, всем понятно, оно дополнительно описано на оф. сайте).
Я не использую подписок и все фильтры для AbP пишу сам. Подавляющее большинство моих фильтров выглядит следующим образом:
(это, например, если мы фильтруем блоки "новостей", в реальности оказывающиеся банальной порнухой).
После обновления до версии 1.1 при создании таких custom filters галка "Accept pattern only: at the beginning of the domain name" включается автоматически и добавляет в начало фильтра не один, а почему-то аж целых два пайпа, в результате чего фильтр приобретает вид
.
Кроме того, на том же оф. сайте написано, что фильтр типа "ads" (без кавычек) по сути имеет wildcards с обеих сторон, т.е. фильтры ads и *ads* для программы равнозначны.
А теперь, собственно, вопрос:
если я хочу, как указано выше, блокировать все проявления отдельных сайтов на всех посещаемых мною страницах (в лоб и без изысков), какая из форм написания фильтра будет потреблять минимальное количество процессорного времени?
1) redtram или *redtram* - похоже, что хуже всего в плане скорости
2) redtram.com/* - по идее лучше
3) ||redtram.com/* - кажется, что ещё лучше, но непонятно с какой скоростью работает часть кода, выделяющая начало адреса, также не совсем понятно почему автомат ставит "||", а не "|"
4) или вообще использовать только что появившийся вариант: ||redtram.com^ ?
Отредактировано gunwitch (29-07-2009 23:24:55)
Отсутствует
gunwitch
Читать нужно лучше ченджлоги...
Давай-ка я придумаю ответы за Владимира, а он подтвердит или опровергнет.
1) Совершенно без разницы. Что ещё хуже, так это то, что там всего 7 символов, а потому машем ручкой оптимизации. К тому же данное правило заблокирует что угодно содержащее данное слово, при этом совершенно не важно будет ли это красный трамвай или красный батут.
2) По-идее лучше сразу в двух планах -- есть оптимизация и мы достаточно точно уверены, что на красный батут срабатывания не будет. Правда вот на жёлто-красный трамвай срабатывание всё равно будет. Звёздочка в конце роли не играет совершенно, она нужна только для правил с / с обоих сторон, что б они не считались регулярками.
3) Лучший вариант в плане точности, но теоретически немного проигрывает в скорости. Как я понял когда дело доходит до сверки паттерна со строкой, то он в любом случае превращается в регулярку. В предыдущем случае это будет нечто вроде ".*redtram\.com.*". Так вот в данном случае слева вместо .* будет несколько более сложное выражение вроде "\w[1-10]:\\[1-4]([^\.]*\.)*?". Скорее всего там нечто даже более сложное и цифры совсем другие. Разве что надеюсь, что там ленивая выборка в конце используется. Естественно это проверяется несколько медленнее, но тут важен другой момент -- в данном случае будет заблокирован именно redtram.com/ со всеми его поддоменами если они у него есть. Т.е. если будет pron.redtram.com/, то его тоже заблокирует, а вот yellow-redtram.com/ не тронет.
И да, ещё введена новая маска ^, которая соответствует разделительным символам вроде : / & ? и, возможно, ещё некоторым (я сейчас не помню). Могу лишь сказать, что крайне не рекомендую этим пользоваться, так как этот символ не учитывается при оптимизации, а практическое применение стремится к нулю хотя бы потому, что точка за разделитель не считается.
Отсутствует
gunwitch
Вы спрашивали Владимира Паланта, поэтому извиняюсь, что вмешиваюсь со своим мнением.
Необходимый минимум для оптимизации правила - 8 знаков чистого текста, то есть не разделённого запятыми. Что короче - тормоза, а что длиннее - небольшое замедление. Поэтому redtram. - лучшее в плане скорости.
не совсем понятно почему автомат ставит "||", а не "|"
Это совсем разные вещи. "|" ставится перед "http://", чтобы отличать http://* от *http://* , оказавшегося где-нибудь в середине адреса. А ||example.com/ заменяет |http://www.example.com/ , |http://example.com/ , |http://foo.example.com/ , но не сработает на
http://site.com/?ref=example.com/
Добавлено 29-07-2009 23:31:56
Так вот в данном случае слева вместо .* будет несколько более сложное выражение вроде
Зачем "вроде"? Тут где-то Infocatcher точно написал.
Отсутствует
Lain_13
спасибо за ответ, вы подробно расписали почти мои мысли (правда я правило из п.3 так чётко не обдумывал )
теперь действительно хотелось бы, чтобы Владимир подтвердил или подправил наши домыслы.
Доки на сайте я, разумеется прочитал, именно после их чтения и родился этот вопрос. Мне думается, что в целом понятно, что если бы я не читал справку, то своим вопросом просто бы не задался.
Теперь допишу свои соображения:
Ювелирная точность для меня не критична и я полностью готов ей пожертвовать, т.к. у меня ещё ни разу за всё время пользования AbP (а пользуюсь я им давно) не возникло такого, что заблокировался какой-нибудь yellow-redtram.com (на этом примере я говорю обо всех своих фильтрах).
Более того, если такое и произойдёт, то ради скорости обработки фильтров меня совершенно не затруднит одноразово отключить АбП на данной странице, отредактировать фильтр или сделать что-то ещё - т.е. скорость работы на первом месте.
3) ... тут важен другой момент -- в данном случае будет заблокирован именно redtram.com/ со всеми его поддоменами если они у него есть
Дополню: второй вариант также замечательно блокирует поддомены, т.е. он однозначно отрежет и pron.redtram.com/* и даже (уверен на 99%) dirty.pron.redtram.com/*.
4-й пункт про "^", как видно из времени изменения поста, добавил за секунду до вашего ответа
А фильтрует он, действительно, символы адресов с параметрами: ?=& Собственно, я с самого начала сомневался в его скорости больше всего, поискал подробности сам, и только сейчас решил спросить тут.
Отредактировано gunwitch (29-07-2009 23:55:07)
Отсутствует
gunwitch
2) Если ювелирная точность не интересует, то этот вариант наиболее предпочтителен.
4) Я уже несколько раз упоминал на форуме, что умею читать мысли с некоторой вероятностью.
Он формирует в регулярке нечто вроде "[:?/=&]", разница в скорости обработки на самом делу ничтожно мала, но практическое применение сводится почти к нулю.
Отредактировано Lain_13 (30-07-2009 00:31:36)
Отсутствует
Что-то я не нашёл... Найди, пожалуйста.
Отсутствует
Могли бы вы сделать, пожалуйста, расширение, которое следило бы за срабатываниями фильтров в адблоке и в случае срабатывания заранее указанных фильтров сохраняло бы в логе страницу на которой произошло срабатывание и адрес, на который произошло срабатывание. Это очень помогло бы в разработке подписок, как мне кажется. Да и для отладки собственных правил тоже помогло бы.
В принципе, для этого и есть расширение Adblock Plus Watcher. Разве что привинтить к нему возможность сохранять данные в логе.
Если вставить в адресную строку ссылку abp://... выдаётся: "...протокол (abp) не связан ни с одним приложением...", теперь так и задумано?
Да. Срабатывает исключительно при щелчке на ссылку.
Разве нельзя отследить, что ссылка была вставлена в адресную строку?
Нет, нельзя. Сделано это было, чтобы страницы не могли открыть это окно программно. Опять же способ определить, что Adblock Plus установлен.
Cтоит она у него, стоит. У меня она тоже есть, а на вротарте почему-то не сворачивался здоровенный баннерище.
Да, есть такая проблема в версии 1.1, сворачивание не всегда работает. Я этим займусь.
отключил iMacros - все вроде заработало.
Спасибо, проверю. Но есть подозрение, что дело тут не в каком-то конкретном расширении.
если я хочу, как указано выше, блокировать все проявления отдельных сайтов на всех посещаемых мною страницах (в лоб и без изысков), какая из форм написания фильтра будет потреблять минимальное количество процессорного времени?
По быстродействию: Любой вариант, кроме первого - первый слишком короткий, оптимизация на него не распространяется (Adblock Plus показывает восклицательный знак в столбце "Медленное"). Для правил, которые подлежат оптимизации, разницы нет никакой. Не слушайте тех, кто говорит о разнице в быстродействие регулярных выражений. Оптимизация заботится о том, чтобы до регулярных выражений дело не доходило.
По надежности: лучше четвертый, заблокирует исключительно redtram.com во всех его проявлениях и ничего другого.
Отсутствует
memini
Следить не надо, достаточно прочитать мой пост прямо над вашим...
Отсутствует
Сворачивание заблокированных картинок исправлено: http://hg.mozdev.org/adblockplus/rev/e2849ff3d3ff
Исправленный билд будет в https://adblockplus.org/devbuilds/adblockplus/ через два часа.
Отсутствует
Владимиp Палант
Проверено на 3.5.2, adblockplus-1.1.0+.2009080502.xpi, Image Toolbar 0.6.6, RuAdList (http://ruadlist.googlecode.com/svn/trunk/adblock.txt):
по-прежнему не всё сворачивается, пример: www.rbc.ru
Отсутствует
A.M.
А конкретнее можно? У меня этот сайт вроде бы выглядит одинаково в Adblock Plus 1.0.2 и 1.1.0+.2009080502. Если блокирую одну из картинок на сайте, она сворачивается нормально. Куда смотреть?
Отсутствует
Отсутствует
A.M.
У меня этого нет, причем даже в версии 1.1. Зато разобрался, почему этот сайт не может догрузиться: код, который вставляет баннер с adv.magna.ru, вызывает document.write() фрейма, но забывает вызвать document.close(). Почему это работает без Adblock Plus - тяжело сказать, но это явная ошибка, причем судя по всему достаточно распространенная на русскоязычных сайтах.
Отсутствует
Владимиp Палант
Отключаю все расширения, кроме AdBlock 1.1.0+, всё нормально. Включаю Image Toolbar 0.6.6 - появляются прямоугольники на месте блокированных баннеров.
Ещё пример: www.overclockers.ru с тем же RuAdList-ом. Слева: "Железо на тесты предоставлено" и три прямоугольника с ALT-текстом (или title). Аналогично два счётчика внизу страницы - картинки нет, но есть прямоугольник по размеру баннера с текстом внутри.
Отсутствует
A.M.
Точно, дело в Image Toolbar, спасибо. Исправлю.
Edit: Исправил (http://hg.mozdev.org/adblockplus/rev/0398617170fb). В следующем билде (2009080602) этой проблемы больше быть не должно.
Отредактировано Владимиp Палант (05-08-2009 13:55:45)
Отсутствует
Вышел Adblock Plus 1.1.1. Эта версия в основном устраняет проблемы, обнаруженные в предыдущей версии.
Установка:
https://addons.mozilla.org/ru/addon/1865
Список изменений:
http://adblockplus.org/en/changelog-1.1.1
Отсутствует
Владимиp Палант, обновившись 1.1.1, заметил что пропали все кнопки, созданные расширением Custom Buttons 0.4.3, проверил на чистом профиле FF 3.5.2, установив только 2 этих расширения - наблюдение подтвердилось.
После ещё 1 перезапуска кнопки появились, но если теперь отключить и включить ABP (с перезапуском FF соответственно), то кнопки опять пропадают до следующего рестарта
Отредактировано 3Jlou (13-08-2009 10:49:19)
Отсутствует
3Jlou
Да, https://www.mozdev.org/bugs/show_bug.cgi?id=21391 - это баг в расширении Custom Buttons. Не знаю, в чем между ними разница, но в Custom Buttons² проблемы быть не должно.
Отсутствует
4epenok
Лучше всего Русскую если по русскоязычным интернетам в основном ходишь. Подписки бывают самостоятельные, как RuAdList (см. мою подпись), а бывают добавочными (в основном к EasyList). Лично я пользуюсь ровно одной подпиской и мне её более чем достаточно. Если поставишь себе её и на каком-либо сайте возникнут проблемы -- обращайся (опять же см. подпись), мы (я, Радик245, DemonSat)всегда готовы помочь. У добавочных подписок есть свои плюсы и минусы. Но, как мне кажется, минусы перевешивают. Я бы с ними не связывался хотя бы из-за довольно большого количества общих правил с гирляндами доменов-исключений и огромным списком просто правил-исключений в EasyList. Может он и хорошо работает в Английском интернете, а у нас всё равно надо свои правила составлять в огромном количестве и отлавливать где основная подписка у нас напакостила, а она это делает, я гарантирую это. В общем, рекомендую ставить полноценную подписку.
У RuAdList сейчас есть только один минус -- довольно много регулярок в подписке, но это следствие эксперимента, который я провожу для отсеивания ненужных кусков пары былинных регулярок, которые были в этой подписке ещё до того, как мы в ней начали ковыряться.
Отредактировано Lain_13 (14-08-2009 17:38:08)
Отсутствует