Управление сайтами и правила
Чёрные/белые списки и JSON-правила для URL, selector, раскладки, порогов и CSS конкретного сайта.
| Функция | Где | Назначение |
|---|---|---|
| Управление сайтами | Настройки → Общие | Разрешает или блокирует всё расширение по хосту. |
| Правила сайтов | Настройки → Правила сайтов | Меняет разбор, раскладку, фильтры и CSS совпавших страниц. |
Первое — политика запуска. Правила нужны, если расширение работает, но выбирает неверные узлы, ломает inline-текст, переводит код или требует CSS.
Хосты и URL patterns
Чёрный список запускает вне списка, белый — только внутри. example.com охватывает поддомены, но не пути и wildcard.
Правила игнорируют query string и поддерживают:
| Pattern | Совпадение |
|---|---|
github.com | HTTP/HTTPS хоста |
*.example.com | корневой домен и поддомены |
docs.example.com/guides/* | указанный путь |
https://example.com/* | только HTTPS |
www.amazon.* | хосты в разных TLD |
javdb*.com | текст после javdb в хосте |
Scheme: http, https или *; явные порты запрещены. Исключения задаются excludeMatches.
Приоритет и слияние
Сначала применяются все включённые встроенные правила, затем пользовательские. Встроенное можно выключить по ID.
- Массивы selector проходят base,
.add,.removeпо порядку. - Для
minCharacters/minWordsпобеждает последнее значение. injectedCssиinjectedCss.addобъединяются.- Неверный pattern/selector отбрасывается с предупреждением.
Массивы не просто заменяются: .remove отменяет, .add расширяет.
Поля и безопасный пример
Нужны уникальный id и matches. Доступны excludeSelectors, includeSelectors, forceBlockSelectors, forceInlineSelectors, preserveTextSelectors, minCharacters, minWords, injectedCss.
[
{
"id": "example-docs",
"description": "Translate article copy but leave navigation and code untouched.",
"matches": ["docs.example.com/*"],
"excludeSelectors": ["nav", "pre", "code", "[aria-label='Breadcrumb']"],
"includeSelectors": ["main article"],
"forceBlockSelectors": ["article p", "article li"],
"preserveTextSelectors": [".product-name", ".command-name"],
"minCharacters": 2,
"minWords": 1,
"injectedCss": ".read-frog-translated-content-wrapper { max-width: 100%; }"
}
]Начинайте с узкого хоста, сохраните и перезагрузите, затем расширяйте pattern. Используйте стабильные атрибуты вместо сгенерированных классов.
[
{
"id": "example-docs-adjustment",
"matches": ["docs.example.com/*"],
"excludeSelectors.add": [".sidebar-ad"],
"excludeSelectors.remove": [".article-summary"],
"forceInlineSelectors.add": [".term-with-tooltip"]
}
]Редактор проверяет JSON, schema, дубли ID, selector, pattern и размер. Лимиты: 200 правил, 65 536 символов JSON, 8192 для каждого CSS.
CSS внедряется на каждую совпавшую страницу. Сужайте pattern и не скрывайте элементы входа, безопасности или аккаунта.
