Skip to content

Документация ​

Расширение работает в 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.rusite.ru и www.site.ru по http и https
http://localhost:*/*localhost на любом порту

Паттерн без схемы означает сайт с поддоменами по http и https:

Вы пишетеПравило работает на
site.ru, *site.ru*, *.site.rusite.ru и всех его поддоменах
www.site.ruwww.site.ru и site.ru
пример.рфпример.рф и его поддоменах
site.ru/pathстраницах, начинающихся с /path, на site.ru и поддоменах
localhost:3000localhost на порту 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. Функция экспериментальная.

  1. Откройте раздел MCP на странице настроек и включите «Разрешить MCP-подключения».
  2. Выберите клиент. Раздел даст готовую команду, ссылку для установки в один клик или блок конфигурации — с уже подставленным секретом подключения.
  3. Перезапустите клиент: он сам запустит сервер, а раздел покажет, что клиент подключён.

Сервер работает на вашем компьютере (127.0.0.1) и требует Node.js 18+ или Bun 1.2+. Расширение и сервер проверяют секрет подключения до любого запроса, поэтому другая программа на компьютере не сможет ими воспользоваться. Кнопка «Заменить» рядом с секретом отключает все клиенты, настроенные со старым секретом.

Агент может просматривать, читать, искать, создавать и менять правила и библиотеки, узнавать, какие правила работают на странице, выяснять, почему правило не работает, сохранять правила в файл и восстанавливать из него, возвращать правило к прошлой версии.