+  HandyCache форум
|-+  Главная категория» Дополнения, плагины» Content Master v.2.0
Имя пользователя:
Пароль:
Страниц: 1 ... 63 64 [65] 66 67 ... 113   Вниз
  Отправить эту тему    Печать  
Автор Тема: Content Master v.2.0  (Прочитано 522997 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1280 : 17 сентября 2016, 15:52:39 »

Правильно СМ заблокировал. Можете сделать свое исключение.
Сообщить модератору   Записан
mig73
Постоялец
***

Репутация: +4/-1
Offline Offline

Сообщений: 119



WWW
« Ответ #1281 : 17 сентября 2016, 16:01:10 »

Правильно СМ заблокировал. Можете сделать свое исключение.
Подскажите пожалуйста как сделать чтобы CM вообще игнорировал этот адрес. Доступ происходит через расширение VPN.S HTTP Proxy для Opera Blink, которое настроено на HC. Все остальное ходит в сеть напрямую и пока для подключения запускаю другой браузер.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1282 : 17 сентября 2016, 16:07:04 »

Попробуйте фильтр СМ "Не фильтровать страницы с URL"
Добавьте туда правило
192\.168\.8\.1
Сообщить модератору   Записан
mig73
Постоялец
***

Репутация: +4/-1
Offline Offline

Сообщений: 119



WWW
« Ответ #1283 : 17 сентября 2016, 16:37:07 »

Попробуйте фильтр СМ "Не фильтровать страницы с URL"
Добавьте туда правило
192\.168\.8\.1
Большое спасибо! Теперь CM не блокирует интерфейс, раньше точно помню не блокировался по умолчанию.
Сообщить модератору   Записан
Stealth
Постоялец
***

Репутация: +8/-0
Offline Offline

Сообщений: 117


« Ответ #1284 : 22 сентября 2016, 12:14:22 »

Появилась некая рекламная сеть - contema (http://www.contema.ru/), реклама которой не блокируется Content Master.
Может, добавите блокировочку?
Пример страницы с рекламой: http://rhpc.ru/topic/304/
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1285 : 22 сентября 2016, 19:28:12 »

Спасибо. Добавил.
Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1286 : 23 сентября 2016, 11:51:25 »

Михаил,
В продолжение переписки в личке...

Используется для замены текста регэксп:
Код:
<td\s*class=dats\s*bgcolor="(.{1,7})"\s*valign="top"\s*width=20%\s*rowspan=2>(.*?)<a\s*class=m\s*href="javascript:pasteN\(\'(.*?)\'\)"><b>\3</b></a><br><br>(.*?)</td><td\s*bgcolor="(.{1,7})"\s*class=tpc\s*valign=top\s*width=80%\s*height=100%><a\s*name="(1)"></a>(.*?postno=1.*?)<span\s*class=post>(.*?)</span></td></tr>
Заменяется на:
Код:
<td class=dats bgcolor="\1" valign="top" width=20%  rowspan=2>\2<a class=m href="javascript:pasteN('\3')"><b>\3</b></a><br><br><font color="#C71585">Hat-maker</font></td><td bgcolor="\5" class=tpc valign=top width=80% height=100%><a name="\6"></a><a class=tpc href="#" OnClick="if(document.getElementById('post\6').style.display=='none') {document.getElementById('hat\6').style.display='none'; document.getElementById('post\6').style.display='block'} else {document.getElementById('hat\6').style.display='block'; document.getElementById('post\6').style.display='none'}; return false;">Развернуть/свернуть</a> | \7<span style="display:block;" class=post id="hat\6"><font color="#00FF00"><b>ШЛЯПА свёрнута</b></font>  <img src="http://smilies.ru-board.com/sm/347.gif" border="0"></span><span style="display:none;" class=post id="post\6">\8</span></td></tr>
Но на одном топике (пока только в одном проявилось), шапка не сворачивается. В закрытых топиках шапка сворачиваться не должна.
Проверялось на HC v 1.00 RC4 (1.0.0.650), CM 2.17.7
Win 7 x64, FF 48.0.2 и Maxthon v4.4.1.5000, и Chrome Версия 53.0.2785.116 m

PS Причина несворачивания нашлась. Вносило помехи ещё одно правило, написанное для списка игнорирования. Если на той же странице идет пост, на который срабатывает список игнора, то шапка не сворачивается (хотя, сами регэкспы не пересекаются, но почему-то мешает именно список игнора регэкспу сворачивания шапки, а сам список игнорирования отрабатывает правильно).
В том же топике на других страницах шапка схлопывается...
« Последнее редактирование: 23 сентября 2016, 13:07:57 от YuS » Сообщить модератору   Записан
mig73
Постоялец
***

Репутация: +4/-1
Offline Offline

Сообщений: 119



WWW
« Ответ #1287 : 23 сентября 2016, 16:19:27 »

Заметил что после последних обновлений CM, любая тема на https://forums.overclockers.ru отображается пустой с сообщением "Для просмотра конференции отключите Adblock." Возможно произошли какие-то изменения на самой конференции...
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1288 : 23 сентября 2016, 19:23:51 »

но почему-то мешает именно список игнора регэкспу сворачивания шапки, а сам список игнорирования отрабатывает правильно
Не пойму, поведение НС все-таки отличается от ожидаемого или вопрос разрешился?

Заметил что после последних обновлений CM, любая тема на https://forums.overclockers.ru отображается пустой с сообщением "Для просмотра конференции отключите Adblock." Возможно произошли какие-то изменения на самой конференции...
Поправил.
Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1289 : 23 сентября 2016, 22:33:32 »

Не пойму, поведение НС все-таки отличается от ожидаемого или вопрос разрешился?
Вопрос разрешился видоизменением шаблона правил и замены, в обоих правилах. Сейчас всё работает, как и ожидалось.

Но при этом, остался вопрос, почему, всё таки, два правила так оказывали влияние друг на друга... ведь они, по шаблону, срабатывать должны были на разный текст... причем, существующие сейчас шаблоны правил, просто немного сокращены, т.е. принципиально, там ничего не изменилось.
Если есть время и желание для полного разбора ситуации - данные могу выложить в виде обоих изначальных правил(при которых одно из них не срабатывало) и конечных, видоизменённых (при которых, оба правила работоспособны и независимы друг от друга)
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1290 : 23 сентября 2016, 22:49:36 »

Если есть время и желание для полного разбора ситуации - данные могу выложить в виде обоих изначальных правил(при которых одно из них не срабатывало) и конечных, видоизменённых (при которых, оба правила работоспособны и независимы друг от друга)
ОК.
Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1291 : 24 сентября 2016, 05:40:40 »

ОК.
Чтобы форум ничего не порезал, выкладываю все шаблоны в отдельных текстовых файлах. Там оба изначальных и конечных правила. Только в списке игнорирования, ники на форуме надо заменить на реальные.

* templates.rar (2.53 Кб - загружено 27 раз.)
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1292 : 24 сентября 2016, 10:48:54 »

Шапка нормально сворачивается (FF, Chrome).
Эти два правила тестировались в чистом виде? Или помимо них подключены другие?
« Последнее редактирование: 24 сентября 2016, 10:57:15 от Михаил » Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1293 : 24 сентября 2016, 16:56:03 »

Шапка нормально сворачивается (FF, Chrome).
Эти два правила тестировались в чистом виде? Или помимо них подключены другие?
Эмм, нет, в чистом виде не тестировались, помимо них есть ещё небольшая кучка правил...
Может целиком папку CM Вам отправить? Секретного там нет ничего. Или потестирую сам, когда освобожусь немного...
Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1294 : 24 сентября 2016, 20:05:39 »

Эти два правила тестировались в чистом виде? Или помимо них подключены другие?
в чистом виде не тестировались
Протестировал в чистом виде. Выключил все правила, в том числе и в секции CM. Остались только эти два правила в отдельном файле секции CM (все птицы фильтров взведены, но файлы фильтров отключены) и ничего не вышло - шапка не сворачивается, если на открытой странице присутствует пост от мембера из списка игнорирования, а если страница "чистая", в том же топике, то шапка схлопывается...
Повторюсь: с новыми, подкорректированными правилами, всё работает параллельно, т.е. так, как и задумывалось.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1295 : 24 сентября 2016, 21:56:32 »

Причина в том, что первоначальные правила захватывали явно больше того, что подразумевалось при их составлении.
Благодаря коснтрукциям типа ".*?" сначала захватывался кусок, начиная от шапки и до первого поста игнорируемого пользователя.
Потом в этом огромном куске удалялся пост игнорируемого пользователя.

После этого СМ продолжал дальнейший поиск уже после измененного куска, и к анализу шапки вернуться не мог.

Резюмирую, что в этой ситуации СМ работал правильно. Правила были явно ошибочными.
После применения более точных правил вырезание пошло по-задуманному.
Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1296 : 25 сентября 2016, 05:29:10 »

Благодаря коснтрукциям типа ".*?" сначала захватывался кусок, начиная от шапки и до первого поста игнорируемого пользователя.
...
После применения более точных правил вырезание пошло по-задуманному.
Да, в общем-то именно из-за предположения, что скомпилированные правила работают не последовательно, а параллельно и мешают друг другу, попытался переделать шаблоны...
Но в том, что это правильно, есть некоторые сомнения... ведь, без конструкций ".*?" иногда не обойтись. В данном случае, по логике шаблона именно ".*?" (ленивый квантификатор), он не должен захватывать больше одного элемента таблицы, т.е. захваченным должен оказаться, всего лишь один пост и из-за "name="(1)", это может быть только шапка. К тому же, в новом правиле эти конструкции ведь тоже присутствуют, но шаблоны работают независимо...
В общем, т.к. нет четкого понимания как компилируются правила для работы CM и в конечном итоге, нет представления у пользователя, как именно правила будут работать в комплексе, то это вызывает некоторые трудности с составлением правил...

Правила были явно ошибочными.
А вот это спорно, т.к. неоднократный их анализ, в том числе и с помощью внешних инструментов, например здесь, не вызвал никаких ассоциаций с некорректностью их составления.
Нужны какие-то чёткие критерии, опираясь на которые, можно будет говорить, что правила ошибочны и именно так их лучше не составлять...
Ну, это, конечно, если нет желания, чтобы пользователи при каждом более-менее сложном случае, обращались напрямую только лично к Вам за помощью. Улыбка
« Последнее редактирование: 25 сентября 2016, 05:53:04 от YuS » Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1297 : 25 сентября 2016, 11:40:24 »

Цитировать
В данном случае, по логике шаблона именно ".*?" (ленивый квантификатор), он не должен захватывать больше одного элемента таблицы, т.е. захваченным должен оказаться, всего лишь один пост и из-за "name="(1)", это может быть только шапка.

Этот квантификатор, хоть и ленивый, но может становиться весьма прожорливым. Так получается и в нашем случае. И он захватывает сразу много элементов таблицы.
Правило, касающееся игнорирования постов, из-за работы квантификатора захватывает всю страницу, начиная от шапки и заканчивая игнорируемым постом. Оно не захватывает отдельный пост.
После того как захвачен этот огромный кусок страницы, правило изменяет его. Дальнейший анализ СМ ведет после этого куска.

Поэтому для правильной (а заодно и более оптимальной) работы лучше ограничивать прожорливость квантификатора.
Примените, к примеру вместо (.*?)<a\s*class=m конструкцию (?>(.*?)<a\s*class=m)
Тогда больше одного поста он не сможет захватить.
В других местах использования квантификаторов старайтесь при возможности поступать аналогично.

PS Конструкция name="(?!1)(.{1,5})" не будет работать для сообщений с 10-го по 19-е.
Можно уточнить ее так: name="(?!1")(.{1,5})"
Сообщить модератору   Записан
YuS
Ветеран
*****

Репутация: +30/-4
Offline Offline

Сообщений: 701


crazy


« Ответ #1298 : 25 сентября 2016, 17:39:43 »

Правило, касающееся игнорирования постов, из-за работы квантификатора захватывает всю страницу, начиная от шапки и заканчивая игнорируемым постом. Оно не захватывает отдельный пост.
Да, действительно, как-то не обратил внимания, что правило не совсем удачное и при его выполнении, будет слишком многоходовый поиск наилучшего совпадения... да и захват "отсюда и до обеда", вовсе не предполагалось создавать, хотя именно так и получилось. Улыбка

После того как захвачен этот огромный кусок страницы, правило изменяет его. Дальнейший анализ СМ ведет после этого куска.
А вот тут я просто забыл, что правила ведь не работают последовательно (на что я и рассчитывал, собственно), там ведь формируется одно супер-правило... поэтому весь мой анализ на смарку. Спасибо за напоминание!

Поэтому для правильной (а заодно и более оптимальной) работы лучше ограничивать прожорливость квантификатора.
Примените, к примеру вместо (.*?)<a\s*class=m конструкцию (?>(.*?)<a\s*class=m)
Тогда больше одного поста он не сможет захватить.
И ещё раз спасибо! Действительно, ведь атомарная группировка - почти панацея при необходимости использования ".*?", она не даст парсеру перебирать варианты...

PS Конструкция name="(?!1)(.{1,5})" не будет работать для сообщений с 10-го по 19-е.
Можно уточнить ее так: name="(?!1")(.{1,5})"
Это случайно затесавшаяся конструкция, изначально её там не было... а появилась она при поиске причин несхлопывания и из-за невнимательности, так и осталась там. Улыбка
Да, если такой шаблон необходим, то этот вариант применения очень хорош, буду исправлять. Спасибо ещё раз.
Сообщить модератору   Записан
Михаил
Модератор
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #1299 : 25 сентября 2016, 20:24:20 »

Цитировать
правила ведь не работают последовательно

К набору правил одного фильтра не совсем подходят слова "последовательно" или "непоследовательно". Может получиться так, что они сработают последовательно , а может - нет.

Правила фильтра "Замена текста" работают по следующему принципу:
- первым сработает то из них, которое находит фрагмент, наиболее близко расположенный к началу анализируемого блока
- если несколько правил могут найти одинаково близкие к началу блока фрагменты, то сработает любое из них (непредсказуемо, какое именно)
- найдя фрагмент, правило изменит его
- дальнейший поиск будет производиться в блоке, начиная сразу за измененным фрагментом
Сообщить модератору   Записан
Страниц: 1 ... 63 64 [65] 66 67 ... 113   Вверх
  Отправить эту тему    Печать  

 
Перейти в: