Переход с Tampermonkey или Greasemonkey на JustZix
Если вы жили с Tampermonkey или Greasemonkey, вы уже понимаете суть идеи: запускать собственный код на чужом сайте. JustZix сохраняет эту мощь, но перестраивает её вокруг правил, привязанных к URL — небольших, привязанных, отдельно переключаемых единиц CSS или JS. Это руководство отображает модель юзерскриптов на JustZix и показывает, где каждый инструмент блистает.
Ментальная модель: скрипты против правил
Юзерскрипт — это один файл с метаданным заголовком. JustZix разбивает ту же работу на две вещи: совпадение URL (где это работает) и полезную нагрузку (CSS или JS). Блок метаданных, который вы раньше писали, становится полем в редакторе правил.
@match/@include→ шаблон URL правила, например*://*.youtube.com/*@run-at document-end→ JustZix по умолчанию запускает JS-правила после готовности DOM- Стилизация через
GM_addStyle→ отдельное CSS-правило, JS не нужен - Один большой скрипт → несколько маленьких правил, которые вы переключаете независимо
Самый большой сдвиг: в JustZix CSS первоклассен. Всё, что вы делали с GM_addStyle, становится чистым CSS-правилом, которое быстрее, безопаснее и легче читать.
Перенос юзерскрипта только из CSS
Множество юзерскриптов существуют лишь чтобы вставить таблицу стилей. Вот типичный:
// ==UserScript==
// @name Hide YouTube Shorts
// @match *://*.youtube.com/*
// ==/UserScript==
GM_addStyle(`
ytd-reel-shelf-renderer { display: none !important; }
`);
В JustZix это сворачивается в CSS-правило. Совпадение URL: *://*.youtube.com/*. Полезная нагрузка:
ytd-reel-shelf-renderer { display: none !important; }
Это весь перенос. Никакой обёртки, никакого GM_addStyle, никакого комментария с метаданными — редактор правил держит совпадение за вас.
Перенос юзерскрипта с манипуляцией DOM
Скрипты, которые меняют страницу во время работы, становятся JS-правилами. Тело скрипта обычно переносится дословно; вы лишь убираете метаданный заголовок. Юзерскрипт, который ждёт элемент:
// ==UserScript==
// @name Auto-expand comments
// @match *://example.com/*
// @run-at document-end
// ==/UserScript==
(function () {
const btn = document.querySelector('.show-comments');
if (btn) btn.click();
})();
Становится JS-правилом JustZix с совпадением *://example.com/* и полезной нагрузкой:
const btn = document.querySelector('.show-comments');
if (btn) btn.click();
Для одностраничных приложений применяется тот же шаблон, что вы использовали в юзерскриптах — наблюдайте за DOM, а не предполагайте единственную загрузку:
function run() {
const btn = document.querySelector('.show-comments');
if (btn && !btn.dataset.done) {
btn.dataset.done = '1';
btn.click();
}
}
run();
new MutationObserver(run).observe(document.body, {
childList: true, subtree: true
});
Что не переносится напрямую
JustZix запускает ваш JS в контексте страницы со стандартными веб-API. Дополнения менеджера юзерскриптов требуют переосмысления:
GM_setValue/GM_getValue→ используйтеlocalStorageдля хранения, привязанного к сайтуGM_xmlhttpRequest(запрос с другого источника) → не цель JustZix; держите такие скрипты в менеджере юзерскриптов@requireвнешние библиотеки → встройте то, что нужно, или вставьте библиотеку в правилоGM_registerMenuCommand→ постройте вместо этого собственную кнопку на странице
Это честная разделительная линия ниже.
Когда какой использовать
JustZix лучше подходит, когда ваша цель — настройка того, как сайты выглядят и ведут себя: скрытие хлама, рестайлинг, небольшие UX-сочетания, привязанная автоматизация. Модель правил держит каждую настройку изолированной, лёгкой для переключения и тривиальной для расшаривания как обычный CSS или JS.
Сохраните менеджер юзерскриптов, когда скрипту нужен сетевой доступ к другому источнику, тяжёлая сторонняя библиотека или хранилище значений, переживающее множество сайтов. Два инструмента прекрасно сосуществуют — многие пользователи запускают JustZix ради десятков небольших визуальных настроек и приберегают свой менеджер юзерскриптов для двух-трёх тяжеловесных скриптов.
Чек-лист миграции
- Перечислите свои юзерскрипты и пометьте каждый: только CSS, настройка DOM или тяжёлый по сети.
- Перенесите каждый скрипт только из CSS в CSS-правило JustZix — обычно это копирование блока стилей.
- Перенесите настройки DOM в JS-правила; уберите метаданный заголовок, оставьте тело.
- Разбейте крупные многоцелевые скрипты на несколько маленьких правил, чтобы переключать функции.
- Оставьте тяжёлые по сети скрипты там, где они есть.
Выигрыш — в ясности: вместо одного непрозрачного файла скрипта вы получаете аккуратный список именованных правил, каждое привязано ровно к одному сайту. Начните с наших готовых примеров, чтобы увидеть формат правил в действии, или переходите к конкретному туториалу вроде настроек GitHub для разработчиков. Скачайте JustZix и перенесите свою первую таблицу стилей сегодня.
Оцени эту статью
Оценок пока нет — оцени первым.