You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Вот здесь может быть засада, из лучших побуждений разработчиков: https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#trusted-filters
"Некоторые правила можно использовать только в доверенных фильтрах."
Причём, список ограничений не указан - то есть, это первый кандидат на множественные подводные камни.
Ниже по тексту можно найти упоминания, что там запрещено:
Правила JavaScript. Это ладно
Скриплеты. Странно и непонятно, зачем их запретили. Неприятно, но, в целом не смертельно.
target — optional, standard or extended CSS selector, can be skipped for checking any element
name — требуется, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления имени атрибута
value — необязательный, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления значения атрибута
"
target — optional, standard or extended CSS selector, can be skipped for checking any element
name — требуется, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления имени свойства элемента
value — необязательный, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления значения свойства элемента
"
Пожалуй, наиболее часто используемый специальный атрибут. Он ограничивает выбор теми элементами, внутренний HTML-код которых (innerHTML) содержит указанную подстроку.
You must use "" to escape ", for instance: $$script[tag-content="alert(""this is ad"")"]
"
К вопросу о #83
https://raw.githubusercontent.com/mtxadmin/ublock/master/it.txt
Поверхностно просмотрел, какие подводные камни могут быть при включении в Adguard
Ну !#include там тоже есть.
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#include-directive
Параметры разработчики старались называть одинаково, и логика работы та же.
Скриптлеты могут не совпасть (см. там же), но большой проблемы от этого случиться не должно. И вообще, все ##+js , похоже, съедут - "#%#//scriptlet(" scriptletName arguments ")"
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#scriptlets
Вот здесь может быть засада, из лучших побуждений разработчиков:
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#trusted-filters
"Некоторые правила можно использовать только в доверенных фильтрах."
Причём, список ограничений не указан - то есть, это первый кандидат на множественные подводные камни.
Ниже по тексту можно найти упоминания, что там запрещено:
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#adguard-content-blocker
Ужас-ужас, совершенно урезанная версия этот AdGuard Content Blocker.
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#wildcard-for-tld
"для AdGuard для Safari и iOS поддерживаемый список доменов верхнего уровня ограничен из-за ограничений Safari."
Про приоритеты подробно, что-то новое. В вики uBlock Origin этого момента не видел.
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#rule-priorities
Не то, чтобы было сильно важно, но интересная деталь
И еще про приоритеты
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#cosmetic-rules-priority
В расширенных CSS-селекторах чуть другой синтаксис
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#extended-css-selectors
"#?# — для скрытия элементов, #@?# — для исключений
#$?# — для CSS-стилей, #@$?# — для исключений
Настоятельно рекомендуем использовать эти маркеры каждый раз, когда вы используете расширенный CSS-селектор."
:matches-css() :
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#extended-css-matches-css
"
Для нерегулярных выражений паттерны (,),[,] должны быть без экранирования, например, :matches-css(background-image:url(data:*)).
Для регулярных выражений паттерны \ должны быть экранированы, например, :matches-css(background-image: /^url\("data:image\/gif;base64.+/).
"
:matches-attr() :
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#extended-css-matches-attr
"
The :matches-attr() pseudo-class allows selecting an element by its attributes, especially if they are randomized.
target — optional, standard or extended CSS selector, can be skipped for checking any element
name — требуется, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления имени атрибута
value — необязательный, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления значения атрибута
"
:matches-property() :
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#extended-css-property
"
The :matches-property() pseudo-class allows selecting an element by matching its properties.
target — optional, standard or extended CSS selector, can be skipped for checking any element
name — требуется, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления имени свойства элемента
value — необязательный, простая строка, или строка с подстановочным знаком, или регулярное выражение для сопоставления значения свойства элемента
"
tag-content
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#tag-content
"
В будущем этот специальный атрибут может перестать поддерживаться. Предпочтительнее использовать псевдокласс :contains() там, где это возможно.
Пожалуй, наиболее часто используемый специальный атрибут. Он ограничивает выбор теми элементами, внутренний HTML-код которых (innerHTML) содержит указанную подстроку.
You must use "" to escape ", for instance: $$script[tag-content="alert(""this is ad"")"]
"
$header
https://adguard.com/kb/ru/general/ad-filtering/create-own-filters/#header-modifier
Это не replace (тот запрещен), это реакция на HTTP-заголовок
The text was updated successfully, but these errors were encountered: