Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 PageEraser: Удаляем мусор на страницах одним кликом
 Сайт -> Форумы » Фильтры
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Сб, Ноя 05 2005 13:31 Цитировать |  |  | 

Наверное стоит мне упростить всю бодягу с клавишами:
Простой клик - спрятать элемент для сайта (тем более простой клик, как сейчас, для версии {trigger} вообще бессмыслен)
Клик+шифт - для страницы (это и вправду редко нужно)

Цитата:
иногда глюк,щелкаю по кружку с рамкой- это дело вырезается но новая вкладка не открывается и в лист ничего не пишется.
Я замечал, такое изредка бывает, это что-то с проксомитроном, с активными соединениями в данный момент. Можно попробовать нажать кнопку "Abort/Прервать" или поиграться с фильтром Connection: Close all connections (In+Out)
К началу Профиль Сообщение Отправить e-mail
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2627
Откуда: SPb

СообщениеДобавлено: Сб, Ноя 05 2005 13:59 Цитировать |  |  | 

Я правильно понимаю, что фича "спрятать элемент для сайта" убирает некий блок на странице, который по-порядку соответствует некому другому (нежелательному) блоку на другой странице, с которой был блокирующий клик?
К началу Профиль Сообщение
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Сб, Ноя 05 2005 15:32 Цитировать |  |  | 

не совсем, есть несколько вариантов:

Для самого простого Page Eraser 1/2 [LXX] это будет так. Там все блоки нумеруются по порядку. Спрятав, допустим, третий на какой-то странице, дальше, на других страницах, будет отсчитываться тоже третий и прятаться.

А вот уже в Page Eraser 1/2 {adv} [LXX] и Page Eraser 1/2 {adv} {trigger} [LXX] элементы растаскиваются на составные части, пересчитывается и потом инфа по этим частям сводится вместе в виде уникального идентификатора элемента. Т.о. здесь "спрятать элемент для сайта" означает спрятать именно конкретный элемент и неважно где он будет потом на странице/ах находиться
К началу Профиль Сообщение Отправить e-mail
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Сб, Ноя 05 2005 16:51 Цитировать |  |  | 

Заметил тут, что если при загрузке не зажимать клавишу Ctrl до конца загрузки страницы, то там, где клавиша была отжата все нижеследующие элементы будут не обработаны - фильтр отключен в этот момент получается. И чтобы не сидеть как болван, держа кнопку и пялясь на экран, можно заменить строчку

$KEYCHK(^C)
на
($KEYCHK(^C^91)$SET(trigger=1)|)$TST(trigger=1)

Теперь будет достаточно один раз нажать в начале загрузки страницы Ctrl+LeftWin и не держать их более нажатыми. Плюс отказался от Ctrl - наблюдались ложные срабатывания, когда параллельно что-то делалось, например с текстом (ctrl+a, ctrl+s и тп)
К началу Профиль Сообщение Отправить e-mail
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Пн, Ноя 07 2005 17:09 Цитировать |  |  | 

Значительно обновил фильтр Page Eraser {adv} {trigger}. Сделал упор на упрощение работы с ним и повысил функциональность. Сделал основным.

Значит так, теперь простой Click спрячет элемент сразу для всего сайта, а Click+Shift только для текущей страницы (поскольку редко когда это нужно). 'Режим правки' активируется, если при загрузке нажать LeftWin+Alt.

Также таки добавил фичу применять к объектам и свойство display:none, для этого надо нажать параллельно с кликом или кликом+шифт клавишу Alt, т.е. для сайта и страницы соответственно получится: Click+Alt и Click+Shift+Alt.

Помимо этого теперь будет проще найти и удалить при необходимости ненужную строку из PageEraser.txt. Для этого в 'режиме правки' скрытые ранее элементы будут показываться наравне с другими, но будут заштрихованы. Если кликнуть по всё той же точке у такого элемента, то для него выведется его идентификационная строчка из PageEraser.txt. Останется только скопировать и найти её в блок-листе.

Для штриховки скачать этот файлик (сменить расширение на zip)

ps Теперь полноценно работает и в Mozilla (Firefox|)

//поправил шапку
К началу Профиль Сообщение Отправить e-mail
arsvrn
Member
Member


Зарегистрирован: 07.10.2005
Сообщения: 69

СообщениеДобавлено: Пн, Ноя 07 2005 19:18 Цитировать |  |  | 

lexxICON
Похоже наши позиции по работе с фильтром сближаются Smile
Хочу предложить тебе еще одну вещь. Новую редакцию я еще не смотрел, но в старой можно уменьшить нагрузку на комп при загрузке сайтов, которых нет в блок-листе. Дело в том, что и для необрабатываемых страниц происходит многократный запуск фильтра. Он, конечно, сразу вываливается, но зачем ему вообще запускаться? Для таких страниц надо запустить команду $STOP при первом входе в фильтр. И больше (для данного соединения) он не запустится.
Я сделал это заменой строки
Код:
"$URL(http://((www.|)webwarper.net/ww/~fz/|)(www.|) \2/(([a-z0-9]+)\#[^a-z0-9]+)+)($TST((\#)=*)|$SET(#=0))$TST((\2/)=$LST(PageEraser))"

на
Код:
"(^(^($URL(http://((www.|)|)(www.|) \2/(([a-z0-9]+)\#[^a-z0-9]+)+)$TST((\2/)=$LST(PageEraser))))$STOP())($TST((\#)=*)|$SET(#=0))"

Посмотри - может и это предложение тебе пригодится?
К началу Профиль Сообщение
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Вт, Ноя 08 2005 14:38 Цитировать |  |  | 

Цитата:
Дело в том, что и для необрабатываемых страниц происходит многократный запуск фильтра. Он, конечно, сразу вываливается, но зачем ему вообще запускаться?

А в чем это выражается, как проявляется? Я в логах прокса не вижу, чтобы фильтр на таких страницах запускался.

В любом случае, afaik, фильтр и так больше одного раза на странице не запустится, если не пройдёт проверка:

(($TST(trigger=1)|$KEYCHK(^A^91)$SET(trigger=1))|($TST(blst=1)|$TST((\2/)=$LST(PageEraser))$SET(blst=1)))



Добавил таку штуку. Теперь блокирует все попытки установить соединения из скрытых объектов - всевозможные картинки, флэш, что там еще может грузиться, когда это нафик не надо для скрытого-то объекта. Т.е. в принципе, при желании, теперь можно не ограничиваться текстовыми блоками, а щёлкать и специфические баннеры и просто объекты с графикой.

Для этого надо в блок-лист Bypass прописать local.ptron/ , если еще не прописано, а в AdList записать *\&\[killCon\]

И установить сразу после Page Eraser 1/2 [LXX] (обновлен) добавочный опциональный фильтр Page Eraser 1/2.2 {optional: blockImg} [LXX] (в шапке темы)
К началу Профиль Сообщение Отправить e-mail
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2627
Откуда: SPb

СообщениеДобавлено: Вт, Ноя 08 2005 16:39 Цитировать |  |  | 

lexxICON

В шапке читаем:
Цитата:
Обновлен 10 Ноября 2005

Свежак!
К началу Профиль Сообщение
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Вт, Ноя 08 2005 16:49 Цитировать |  |  | 

:D а то! бегу впереди паровоза :)
но ниче, ниче - 10 число тоже когда-нибудь наступит и будет в самый раз :)
К началу Профиль Сообщение Отправить e-mail
arsvrn
Member
Member


Зарегистрирован: 07.10.2005
Сообщения: 69

СообщениеДобавлено: Ср, Ноя 09 2005 11:13 Цитировать |  |  | 

Цитата:
Цитата:
Дело в том, что и для необрабатываемых страниц происходит многократный запуск фильтра. Он, конечно, сразу вываливается, но зачем ему вообще запускаться?
А в чем это выражается, как проявляется? Я в логах прокса не вижу, чтобы фильтр на таких страницах запускался.

Поставь команду на вывод в лог между "$URL(http://....." и "(($TST(trigger=1).....". Что нибудь вроде
Код:
"$URL(http://....."
"$LOG(G**********)"
"(($TST(trigger=1)....."

Зайди на любой сайт, не прописанный в PageEraser.txt и посмотри журнал. Увидишь огромное количество строчек "**********", что означает многократный запуск фильтра. Может быть это и небольшие затраты процессорного времени, но зачем они нужны, когда это элементарно лечится путем добавления команды $STOP. Вот таким образом:
Было
Код:
"(($TST(trigger=1)|$KEYCHK(^A^91)$SET(trigger=1))|($TST(blst=1)|$TST((\2/)=$LST(PageEraser))$SET(blst=1)))"

Стало
Код:
"(^(^(($TST(trigger=1)|$KEYCHK(^A^91)$SET(trigger=1))|($TST(blst=1)|$TST((\2/)=$LST(PageEraser))$SET(blst=1))))$STOP())"

Теперь обращение к фильту для необрабатываемой страницы происходит только один раз (хорошо видно по логу), затем срабатывает команда $STOP, и до следующего соединения фильтр не вызывается.
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2627
Откуда: SPb

СообщениеДобавлено: Ср, Ноя 09 2005 13:10 Цитировать |  |  | 

Любопытный факт: $STOP() работает быстрее, если его использовать в начале фильтра (или сразу после той проверки, которая должна стопить). При этом запустившийся фильтр отработает до конца, но в следующий раз (в этой http-сессии) не запустится.
К началу Профиль Сообщение
taimael
Junior Member
Junior Member


Зарегистрирован: 22.01.2005
Сообщения: 34

СообщениеДобавлено: Чт, Ноя 10 2005 03:03 Цитировать |  |  | 

http://hmn.ru/index1.php?code=52&value=31561
не локализуются баннеры в центре страницы и внизу

фмльтр замечательный
сенк
К началу Профиль Сообщение
Dikuds
Newbee
Newbee


Зарегистрирован: 10.11.2005
Сообщения: 5

СообщениеДобавлено: Чт, Ноя 10 2005 10:15 Цитировать |  |  | 

можно ли где нибудь еще выложить Count.txt, а то по указаному адресу не качается.
К началу Профиль Сообщение
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Чт, Ноя 10 2005 17:06 Цитировать |  |  | 

arsvrn,
Цитата:
Стало
Код:
"(^(^(($TST(trigger=1)|$KEYCHK(^A^91)$SET(trigger=1))|($TST(blst=1)|$TST((\2/)=$LST(PageEraser))$SET(blst=1))))$STOP())"

Теперь обращение к фильту для необрабатываемой страницы происходит только один раз (хорошо видно по логу), затем срабатывает команда $STOP, и до следующего соединения фильтр не вызывается.

Но если поставить просто $STOP, фильтр после первой проверки полностью отрубится и перестанет отслеживать в текущем соединении нажатие клавиш alt+lwin. Есть вероятность, что на быстрых машинах и соединениях клавиши просто будет невозможно успеть нажать.

Тут надо какую-то штучку вставить,

(($TST(trigger=1)|$KEYCHK(^A^91)$SET(trigger=1))|например сюда|($TST(blst=1)|$TST((\2/)=$LST(PageEraser))$SET(blst=1)))

При срабатывании такого условия, третья часть ИЛИ (со списком) не должна быть проверена (т.е. проверятся второй и далее разы), но первая (где отслеживается trigger) должна всегда проверяться для текущего соединения.

Но вот что и как туда вставить? :) Может что-то с $CON(1,1,1) или $TST() замутить, но что-то у меня никак не мутится

taimael,
Цитата:
http://hmn.ru/index1.php?code=52&value=31561
не локализуются баннеры в центре страницы и внизу
что-то я не нашел я там банеров (не вырезанных банербластером), или речь про два фрейма - http://ww.hmn.ru/fban/r_bn/super_right_block_tst.php и http://ww.hmn.ru/fban/r_bn/ban_all_top_468i.php ? У меня вообще не отображается их содержимое. Если это баннерные фреймы, то просто занеси в AdList: ww.hmn.ru/fban/

Dikuds,
Цитата:
можно ли где нибудь еще выложить Count.txt, а то по указаному адресу не качается.

Здесь (.jpg->.zip)
К началу Профиль Сообщение Отправить e-mail
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Чт, Ноя 10 2005 17:12 Цитировать |  |  | 

delete


Последний раз редактировалось: lexxICON (Чт, Ноя 10 2005 17:15), всего редактировалось 1 раз
К началу Профиль Сообщение Отправить e-mail
lexxICON
Platinum Member
Platinum Member


Зарегистрирован: 13.07.2004
Сообщения: 596

СообщениеДобавлено: Чт, Ноя 10 2005 17:13 Цитировать |  |  | 

Обновил фильтры, улучшив блокировку загрузок картинок, скриптов и тп из скрытых элементов. Плюс добавил возможность просто физически удалять со страницы хтмл-код скрытых элементов. Для этого в PageEraser.txt надо прописать строчку {choice=1} (.jpg->.zip)
К началу Профиль Сообщение Отправить e-mail
arsvrn
Member
Member


Зарегистрирован: 07.10.2005
Сообщения: 69

СообщениеДобавлено: Чт, Ноя 10 2005 18:09 Цитировать |  |  | 

lexxICON
Код:
Но если поставить просто $STOP, фильтр после первой проверки полностью отрубится и перестанет отслеживать в текущем соединении нажатие клавиш alt+lwin. Есть вероятность, что на быстрых машинах и соединениях клавиши просто будет невозможно успеть нажать.

Как это "невозможно успеть нажать"? Вообще-то, положено сначала нажать клавиши, а потом кликнуть мышью. А иначе и без STOP'а будет ерунда - часть страницы страницы загрузится не в "режиме правки", а часть в "режиме правки" (проверил, так и происходит). Так что STOP надо ставить именно на отключение фильтра после первой проверки.
К началу Профиль Сообщение
rubel
Гость





СообщениеДобавлено: Пт, Ноя 11 2005 14:28 Цитировать |  |  | 

lexxICON
Неплохо работает твой последний фильтр.
Но заметил такие глюки.
1.Периодически Proxomitron стал занимать 75 мегабайт памяти!
2.Если я правил одну страницу и потом открываю в новой вкладке
совершенно другую,то при редактировании в файл PageEraser.txt ничего
не пишется,хотя со страницы всё помеченное удаляется.Закрываю
браузер,опять открываю эту страницу-все правится и записывается в
файл.
Очень порадовала добавочка
Цитата:
Плюс добавил возможность просто физически удалять со страницы хтмл-код скрытых элементов.

Теперь размер страницы в кеше опять стал нормальным.
В Firefox'е сочетание клавиш Alt+LeftWin вызывает сохранение страницы.
Как бы сменить это сочетание?
К началу
Элис
Гость





СообщениеДобавлено: Пт, Ноя 11 2005 15:34 Цитировать |  |  | 

Цитата:
Скопировал count.txt и PageEraser.txt в Lists, прописал List.Count = "..\Lists\Count.txt" и List.PageEraser = "..\Lists\PageEraser.txt" в конфиг. В папку html скопировал PageEraser.js.

Объясните мне пожалуйста. А где взять вот этот PageEraser.js.
К началу
rubel
Гость





СообщениеДобавлено: Пт, Ноя 11 2005 16:17 Цитировать |  |  | 

Элис
Цитата:
Объясните мне пожалуйста. А где взять вот этот PageEraser.js.

В последней редакции фильтра он не нужен.Смотри первую страницу
этого топика.
К началу
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3