Документация
Расширение работает в Chrome 120 и новее и в Firefox 136 и новее.
Разрешение пользовательских скриптов
Браузеры выполняют JavaScript расширения на страницах только с отдельным разрешением. Без него стили правил применяются, а JavaScript правил не выполняется; попап и страница настроек тогда подсказывают, как его включить.
- Chrome 138 и новее: откройте сведения о расширении (
chrome://extensions→ User JavaScript and CSS → «Подробнее») и включите «Разрешить пользовательские скрипты». Режим разработчика не нужен. - Chrome 120–137: включите «Режим разработчика» в правом верхнем углу
chrome://extensions. Это требование Google ко всем расширениям с пользовательскими скриптами. - Firefox: нажмите «Разрешить User Scripts» в попапе и подтвердите в окне браузера. Ещё Firefox может оставить расширение без доступа к сайтам — тогда попап покажет «Разрешить доступ к сайтам», а страница настроек — «Разрешить» в плашке сверху.
Правила
В контексте расширения правило — это JavaScript и/или CSS код, который выполняется на страницах, подходящих под его URL паттерны.
URL паттерны
- Паттерн выглядит как
<scheme>://<host>/<path>:https://site.ru/*; - Несколько паттернов пишутся через запятую:
https://one.ru/*, https://two.ru/*; - Исключение помечается
!:!https://site.ru/admin/*.
Расширение переводит каждый паттерн в формат браузера, а попап и счётчик на иконке показывают ровно те сайты, где браузер выполнит правило.
Паттерн со схемой используется почти как написан:
| Вы пишете | Правило работает на |
|---|---|
https://site.ru/* | site.ru и www.site.ru, но не на других поддоменах |
https://*.site.ru/* | site.ru и всех его поддоменах |
https://site.ru/path | страницах, начинающихся с /path, на site.ru и www.site.ru |
https://site.ru | всём site.ru и www.site.ru |
http*://site.ru | site.ru и www.site.ru по http и https |
http://localhost:*/* | localhost на любом порту |
Паттерн без схемы означает сайт с поддоменами по http и https:
| Вы пишете | Правило работает на |
|---|---|
site.ru, *site.ru*, *.site.ru | site.ru и всех его поддоменах |
www.site.ru | www.site.ru и site.ru |
пример.рф | пример.рф и его поддоменах |
site.ru/path | страницах, начинающихся с /path, на site.ru и поддоменах |
localhost:3000 | localhost на порту 3000 |
/admin | страницах с /admin в пути на любом сайте |
* | любом сайте |
Исключение со схемой используется ровно как написано: https://site.ru/*, !https://www.site.ru/* работает на site.ru, но не на www.site.ru. Исключение без схемы следует таблице выше: !site.ru/admin исключает /admin на site.ru и его поддоменах.
Порты в Firefox. Паттерн Firefox не умеет указывать порт, поэтому порт отбрасывается: localhost:3000 работает на localhost на любом порту, а исключение с портом исключает все порты хоста. Паттерн для любого сайта на одном порту (*://*:8080/*) стал бы паттерном для всех сайтов, поэтому в Firefox он отмечается красным.
Красным отмечается паттерн, который браузер не примет: * внутри хоста (https://shop*.site.ru/*, https://site.*/*) или схема, где расширение не работает (chrome-extension://, ws://). Такой паттерн пропускается, остальные паттерны правила работают. Если браузер не примет исключение, правило не выполняется нигде, пока его не исправить, — иначе оно сработало бы на исключённых страницах.
Свойства JavaScript
Кнопки в шапке панели JavaScript:
Изолированная среда: скрипт видит DOM страницы, но не её переменные и функции.Все фреймы: код выполняется и во фреймах, адрес которых подходит под правило. Каждый фрейм проверяется по паттернам правила отдельно.Запускать на старте: скрипт запускается до построения DOM, иначе — после, но до загрузки ресурсов вроде изображений и фреймов. СобытиеDOMContentLoadedдля такого скрипта не срабатывает.
Свойства стилей
Кнопки в шапке панели стилей:
Препроцессор Sass: включён (по умолчанию) — стиль компилируется какSassилиSCSS, синтаксис определяется по наличию{;}в коде; выключен — стиль применяется как написан.Автоматический !important на все свойства: добавляет!importantко всем свойствам скомпилированного стиля.Применять во вложенных фреймах: стиль попадает и во фреймы внутри страницы. По умолчанию включено.Применять в shadow DOM: стиль действует и внутри веб-компонентов с открытым shadow DOM. По умолчанию выключено.
Стиль меняется в открытых вкладках сразу, без перезагрузки страницы: при правке, включении правила и смене его адреса.
Общие правила
«Общие правила» позволяют выстраивать зависимости между правилами и явно задавать очерёдность их загрузки. Любое правило можно отметить как «Общее правило» в меню правила — это добавит его в список модулей остальных правил. Из подключаемого правила берётся только JS и CSS, остальные его свойства игнорируются.
Прошлые версии
Расширение хранит код правила до каждого из последних 10 сохранений: «Прошлые версии» в меню правила. Версия возвращается в редактор и применяется после сохранения. Версии хранятся только в этом браузере: они не попадают ни в экспорт, ни в облако.
Другие особенности
- Маркер правила
включеноигнорируется, когда правило общее и подключается другим правилом; - Маркер
Сохранять в облаколишь означает, что правило попадает в облачный бэкап; - «Сделать шаблоном новых правил» в меню правила: новые правила создаются с кодом и свойствами этого правила.
Модули
К правилам можно подключать внешние JS и CSS модули, они запускаются до правил. Поддерживаются https://... ссылки, тип ресурса распознаётся по расширению.
Контент модуля скачивается и хранится в хранилище расширения. Обновляется он кнопкой «Скачать повторно» в окне редактирования модуля или по расписанию — настройка «Обновление библиотек»: вручную, раз в день или раз в неделю. Если скачать не удалось, остаётся прежняя версия модуля.
Хранилище
Локальное хранилище
- «Скачать JSON» сохраняет ваши правила, библиотеки и настройки в файл.
- «Загрузить JSON» открывает список правил и библиотек из файла. «Добавить выбранные» добавляет отмеченные к вашим: уже существующие правила заменяются, а их прежний код остаётся в прошлых версиях. «Заменить всё» заменяет ваши правила и библиотеки правилами и библиотеками из файла.
Браузерная синхронизация
Если в браузере включена синхронизация, резервную копию можно загрузить в облако под своим аккаунтом Google или Firefox. Такой способ не требует отдельного входа и настройки: storage.sync — это стандартный тип синхронизации для расширений. Копия загружается в облако и скачивается вручную.
Объём ограничен 100 КБ, поэтому перед загрузкой из копии убирается контент внешних модулей и все генерируемые данные, а результат сжимается. Если места всё равно не хватает, отключите «Сохранять в облако» у правил, которые в копии не нужны.
Агенты (MCP)
ИИ-агенты — Claude Code, Codex, Gemini CLI, Cursor, VS Code, Claude Desktop и другие — могут читать и править ваши правила через локальный MCP-сервер user-js-css-mcp. Функция экспериментальная.
- Откройте раздел MCP на странице настроек и включите «Разрешить MCP-подключения».
- Выберите клиент. Раздел даст готовую команду, ссылку для установки в один клик или блок конфигурации — с уже подставленным секретом подключения.
- Перезапустите клиент: он сам запустит сервер, а раздел покажет, что клиент подключён.
Сервер работает на вашем компьютере (127.0.0.1) и требует Node.js 18+ или Bun 1.2+. Расширение и сервер проверяют секрет подключения до любого запроса, поэтому другая программа на компьютере не сможет ими воспользоваться. Кнопка «Заменить» рядом с секретом отключает все клиенты, настроенные со старым секретом.
Агент может просматривать, читать, искать, создавать и менять правила и библиотеки, узнавать, какие правила работают на странице, выяснять, почему правило не работает, сохранять правила в файл и восстанавливать из него, возвращать правило к прошлой версии.