vladmir
просто там в tr ещё всякой фигни полно. конечно, это "не смертельно". просто хотелось одним махом. решил вопрос отдельными фильтрами на каждый td.
Отсутствует
Сограждане! Как зацепить такой блок:
<div>Репутация: <span id="repdisplay_552039_1527">Любитель (<b><font color="green">35</font></b>)</span></div>
Точнее хотя бы только спан внутри - у его идентификатора цифры меняются - по части идентификатора вообще можно как-то цеплять?
Отсутствует
vladmir
по части идентификатора вообще можно как-то цеплять?
[id^="someText"] – начинается с «someText»
[id*="someText"] – содержит «someText»
[id$="someText"] – заканчивается на «someText»
К слову, вместо id может быть любой атрибут.
Например, так:
span[id^="repdisplay_"]
или так:
div > span[id^="repdisplay_"]
Отредактировано Infocatcher (22-10-2008 02:42:44)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
после одного из крэшей винды (доля секунды синий экран и тут же ресет) у меня в моём единственном профиле лисы исчезли все фильтры и подписки именно из адблок+, остальные настройки профиля сохранены и с ними всё ок.
Отсутствует
после одного из крэшей винды (доля секунды синий экран и тут же ресет) у меня в моём единственном профиле лисы исчезли все фильтры и подписки именно из адблок+, остальные настройки профиля сохранены и с ними всё ок.
Будешь сохранять в текстовый файл следующий раз
Отсутствует
Infocatcher
[id^="someText"] – начинается с «someText»
[id*="someText"] – содержит «someText»
[id$="someText"] – заканчивается на «someText»
Спасибо, мне понравилось. Правда на том форуме передумали вводить репутацию и в этот раз не пригодилось, но обязательно пригодится в другой раз.
Отсутствует
Drug0y
вручную - это нереальщина какая-то
Вот она, нереальная для Вас комбинация клавиш:
Ctrl+Shift+E Ctrl+E имя_файла Enter.
Если это чрезвычайно трудно запомнить, то мышкой: откройте окно Adblock Plus - Установки, откройте выпадающее меню "Фильтры", нажмите "Экпорт фильтров", выберите папку для сохранения файла, введите имя файла и нажмите кнопку "Сохранить".
Для импорта фильтров: Ctrl+Shift+E Ctrl+I выбрать файл Enter.
или откройте окно Adblock Plus - Установки, откройте выпадающее меню "Фильтры", нажмите "Импорт фильтров", выберите файл с фильтрами и нажмите кнопку "Открыть".
Разжевал, почти как тех. поддержка Майкрософт. Неужели трудно? А подписки не экспортируются. Может быть, было бы и круто, но зачем?
Добавлено 25-10-2008 15:01:03
Товарищи, вам 5 автоматических бэкапов конфига адблока со всеми подписками уже МАЛО?
Если мало - файл %USERPROFILE%\Application Data\Mozilla\Firefox\Profiles\профиль\adblockplus\patterns.ini ещё куда нибудь скопировать можно. Кстати, там не только свои фильтры, но и подписки. Чтобы не вручную - можно батник написать.
Отредактировано Радик245 (27-10-2008 23:53:36)
Отсутствует
Если мало - файл %USERPROFILE%\Application Data\Mozilla\Firefox\Profiles\профиль.default\adblockplus\patterns.ini
+ about:config
extensions.adblockplus.patternsbackupinterval
extensions.adblockplus.patternsbackups
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Радик245
Нет, об этом еще не писали. Случай достаточно редкий, не знаю, есть ли смысл исправлять (немного нетривиально).
A-Star
У меня, как правило, эффект обратный. С рекламой страницы никак не могут догрузиться, после блокирования загружаются моментально.
vladmir
Да, там ошибка синтаксиса в contents.rdf. Я уже давно исправил, но версию 0.7.5.5 на иврите вы уже использовать не сможете - по крайней мере в SeaMonkey. Подозреваю, что вам и не нужно.
Отсутствует
Владимиp Палант
есть ли смысл исправлять
я заметил это тогда, когда отключил свои фильтры и все подписки, кроме одной, с проблемами которой и хотел разобраться. На сайте картинки в папке с названием вроде banner, значит, на все подписки попадает. Нажимаю "Отредактировать применённый фильтр", и открывается отключённая подписка. Понятно, что просто надо открыть окно "Установки" и самому фильтр найти. Если я единственный в истории, кто это вообще заметил, то, наверное, исправлять нет смысла.
У меня, как правило, эффект обратный.
Например, http://www.vesti.ru/videos "догружается" с помощью ESC. Фильтры у меня срабатывают примерно такие:
/468x60|240x400/
adriver.ru
.bb.ru/bb.cgi?
/(\/cnt\/.*\?|\.cnt\?)/
yadro.ru
js.redtram.com/n4p/
mg.dt00.net/
nnn.novoteka.ru
/re[ck]lama/
http://tizer.
http://top100-images.rambler.ru/top100/*
/counte[rd]/
Чтобы избавиться от этого, надо добавить исключение на страницу или отключить все перечисленные фильтры. Ни то, ни другое не интересно. Притом замечено, что если страница недогружена и загрузка не остановлена, чаще бывают проблемы с запуском видео, с показом его "на весь экран".
Отсутствует
Владимиp Палант
Раз уж Вы все равно здесь, ответьте, пожалуйста:
http://forum.mozilla-russia.org/viewtop … 19#p259619
А то, как видно, затерялось...
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Infocatcher
P.S. Владимир, а есть ли смысл писать /(?:что-то_там)/ вместо /(что-то_там)/ ?
Если я правильно понимаю, то ты спрашиваешь Владимира имеет ли смысл подавлять возврат найденной подстроки в фильтрах на основе регулярных выражений для ускорения их обработки.
Процитирую пару абзацев с сайта www.regular-expressions.info для всех:
Besides grouping part of a regular expression together, round brackets also create a "backreference". A backreference stores the part of the string matched by the part of the regular expression inside the parentheses.
That is, unless you use non-capturing parentheses. Remembering part of the regex match in a backreference, slows down the regex engine because it has more work to do. If you do not use the backreference, you can speed things up by using non-capturing parentheses, at the expense of making your regular expression slightly harder to read.
Помимо группировки частей регулярного выражения круглые скобки используются для создания "обратной связи". В такой связи хранятся фрагменты строки подходящие под паттерн находящийся в скобках. Запоминание части найденной строки замедляет движок регулярных выражений, так как требуется выполнять больше действий. Если не использовать обратную связь, то этим можно ускорить работу движка ценой небольшого снижения читабельности выражения.
Так как в расширении используется стандартный движок регекспов фокса, то такая конструкция имеет смысл.
Процитирую тот же сайт:
Backreferences can not only be used after a match has been found, but also during the match.
Т.е. найденный фрагмент можно использовать не только после выполнения поиска, но и во время него.
Пример всё с того же сайта:
Тут мы ищем любой html-тэг и, если тэг найден, то ищем закрывающий тэг. У этого примера есть ограничения в применении, но для пояснения он годится. Тут мы выделяем группу ([A-Z][A-Z0-9]*) в начале тэга, а, потом, подставляем результат туда, где находится \1.
Следовательно, использование конструкуии (?:что-то) оправдано.
Отредактировано Lain_13 (27-10-2008 22:26:04)
Отсутствует
Lain_13
имеет ли смысл подавлять возврат найденной подстроки в фильтрах на основе регулярных выражений для ускорения их обработки.
Именно так.
Ну, про то, как использовать скобки, я в курсе, а вот для определения выигрыша в скорости не помешал бы эксперимент...
Например, говорят (лично не проверял), что вот так
someStr.split(/regexp/).join("...") // делаем массив из строки, /regexp/ – разделитель; // собираем массив в строку, заполняя промежутки заданной строкой "..."
во многих браузерах работает быстрее, чем
someStr.replace(/regexp/g, "..."); // заменяем /regexp/g (множественная замена) на "..."
А по логике должно быть наоборот (в первом случае split возвращает ненужный нам массив, занимающий память).
Если разница действительно есть, то тогда можно было бы автоматически приводить регулярные выражения к оптимизированному виду на этапе сохранения настоек ABP.
Что-нибудь вроде
if(!/\\\d/.test(str))
str = str.replace(/([^\\]\()([^\?])/g, "$1?:$2")
Отредактировано Infocatcher (28-10-2008 01:42:55)
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
Радик245
Спасибо за пример. Странная штука. При отключении JavaScript сайт догружается, что-то они там со скриптами наворотили. Скриптов там немало, придется разбираться.
Infocatcher
а есть ли смысл писать /(?:что-то_там)/ вместо /(что-то_там)/ ?
Теоретически есть, с ?: выполняться должно чуть быстрее. Практически - сомневаюсь, что разница заметна. Лучше просто регулярные выражения не использовать, тут выигрыш на несколько порядков больше.
PS: Автоматически приводить регулярные выражения к "оптимированному" виду невозможно хотя бы уже из-за /(foo|bar)abc\1/ - это заблокирует "fooabcfoo" и "barabcbar", но не "fooabcbar". Ну и опять таки, разбор регулярных выражений для выполнения с ними каких-либо операций - вещь весьма нетривиальная.
Добавлено 28-10-2008 10:27:20
Радик245
Исправил проблему с выбором фильтра в отключенной подписке - http://hg.mozdev.org/adblockplus/rev/8434b5a2c129
Отредактировано Владимиp Палант (28-10-2008 10:27:42)
Отсутствует
Infocatcher
Именно из-за возможности использовать обратную свзять в пределах текущего выражения я и не предложил автоматизировать добавление ?:, на что Владимир и указал. Т.е. если и добавлять, то только самостоятельно.
Отсутствует
Владимиp Палант
Автоматически приводить регулярные выражения к "оптимированному" виду невозможно хотя бы уже из-за /(foo|bar)abc\1/ - это заблокирует "fooabcfoo" и "barabcbar", но не "fooabcbar".
Я тоже потом про это подумал и добавил
if(!/\\\d/.test(str))
Лучше просто регулярные выражения не использовать, тут выигрыш на несколько порядков больше.
Угу. Но совсем не использовать не могу (к тому же, притормаживаний у меня не заметно).
Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела
Отсутствует
а есть ли смысл писать /(?:что-то_там)/ вместо /(что-то_там)/ ?
Как справедливо написали предыдущие докладчики, действительно, несохраняющие круглые скобки приводят к ускорению поиска. JavaScript-движок регулярных выражений довольно шустрый, но при множественном поиске небольшое торможение и мусор от сохраненных фрагментов кода в памяти может довольно чувствительно влиять. Так что - лучше (?: )
Отсутствует
inlouf
Не могу сказать, что понял, что вы написали. Но вроде бы угадал правильно - в режиме "small icons" символ Adblock Plus действительно увеличивает высоту панели. Исправлю.
Edit: Нет, не могу исправить. Это в стандартном оформлении Firefox ошибка, если буду "исправлять", то есть немалый риск, что в результате с другими оформлениями начнутся проблемы.
Edit2: bug 462512
Отредактировано Владимиp Палант (31-10-2008 16:08:42)
Отсутствует
Здравствуйте. Может кто-нибудь помочь как заблокировать баннер в верхней части сайта torrents.ru (обвел красным) у меня постоянно там вылезает реклама
Добавлено 02-11-2008 22:42:50
Здравствуйте. Может кто-нибудь помочь как заблокировать баннер в верхней части сайта torrents.ru (обвел красным) у меня постоянно там вылезает реклама
http://ipicture.ru/uploads/081102/24885 … duNqog.jpg
и если можно, то объяснить поподробнее принцип блокировки подобных баннеров.
Отсутствует