JustZix vs Tampermonkey / Greasemonkey — cosa cambia, cosa vince, quando scegliere quale
Tampermonkey è sinonimo di «userscript» da 15 anni. Quando qualcuno dice «inietto JS in una pagina», pensa probabilmente a Tampermonkey per impostazione predefinita. JustZix fa tutto ciò che fa Tampermonkey, più gli userstyle (come Stylus), più un livello UI che gli userscript non hanno. Questo post mostra dove differiamo.
Confronto delle funzionalità
| Funzionalità | Tampermonkey | Greasemonkey | JustZix |
|---|---|---|---|
| Iniezione JS su corrispondenza URL | ✓ (@match nell'intestazione) | ✓ (@include) | ✓ (scope.url) |
| Iniezione CSS | ~ (via GM_addStyle) | ~ (via GM_addStyle) | ✓ (regola CSS dedicata) |
| Editor dal vivo nella scheda | ✗ | ✗ | ✓ (CSS pane + JS pane) |
| REPL nella scheda | ✗ | ✗ | ✓ (JS Console) |
| Barra delle azioni con pulsanti UI | ~ (GM_registerMenuCommand — nel popup dell'estensione) | ~ | ✓ (6 tipi di azioni visibili sulla pagina) |
| Condivisione via URL | ~ (export in .user.js) | ~ (export) | ✓ (link TTL 1-48 h) |
| Sincronizzazione tra dispositivi | ✓ (Tampermonkey Cloud — a pagamento) | ✗ | ✓ (chrome.storage.sync, gratis) |
| Open source | ~ (versione gratuita, ma Tampermonkey è closed-source) | ✓ (Greasemonkey GPL) | ✓ (MIT) |
| @require script esterni | ✓ | ✓ | ~ (fetch in una regola JS) |
| GM_xmlhttpRequest (bypass CORS) | ✓ | ✓ | ~ (fetch nativo, limitato dal CORS) |
| Marketplace di script | greasyfork.org | greasyfork.org | n/d (link di condivisione TTL) |
Dove vince Tampermonkey
- @require + librerie esterne — gli userscript possono importare jQuery, Lodash via URL. JustZix richiede codice inline o un fetch in una regola JS.
- GM_xmlhttpRequest — bypass del CORS per le chiamate API cross-domain. JustZix usa il fetch nativo — limitato dal CORS della pagina.
- Marketplace greasyfork.org — migliaia di userscript pubblici. JustZix non ha un registro centrale (intenzionalmente — condivisione TTL).
- Collezione di userscript esistente — se hai 50 userscript installati, la migrazione è lavoro. JustZix non importa i .user.js (ma puoi copiare-incollare il corpo in una regola JS).
Dove vince JustZix
- Livello UI nella scheda — barre delle azioni con PULSANTE/SLIDER/TOGGLE3 visibili sulla pagina. Tampermonkey ha solo GM_registerMenuCommand nel popup dell'estensione (invisibile finché non clicchi l'icona nella barra degli strumenti).
- CSS + JS in un'unica regola — userstyle + userscript insieme, scope=identico. Tampermonkey richiede uno Stylus separato.
- Editor dal vivo nella scheda — CSS pane / JS pane per iterare senza F5.
- Output Console nella scheda — debug senza DevTools, canale
JUSTZIX.logdedicato. - Dashboard snap — barre + pane si organizzano in gruppi. Tampermonkey non ha UI persistente al di fuori del popup.
Migrare 3 userscript tipici verso JustZix
Script 1: «Auto-skip dei banner cookie»
Userscript Tampermonkey:
// ==UserScript==
// @name Cookie skip
// @match *://*/*
// @run-at document-end
// ==/UserScript==
(function() {
const obs = new MutationObserver(() => {
const accept = [...document.querySelectorAll('button')]
.find(b => /accept all/i.test(b.textContent));
if (accept) { accept.click(); obs.disconnect(); }
});
obs.observe(document.body, {childList: true, subtree: true});
})();
Migrazione JustZix:
- Nuova cartella «Auto-actions»
- Nuova regola «Cookie skip», scope:
*://*/* - Scheda JS: incolla il corpo della funzione (SENZA wrapper IIFE, SENZA intestazione userscript)
- Run-at: JustZix usa «document-end» per impostazione predefinita — corrispondenza
- Salva
Script 2: «GitHub: copia lo SHA»
Lo userscript Tampermonkey aggiunge un pulsante «Copia SHA» accanto agli hash dei commit. JustZix:
- Scope della regola:
https://github.com/* - Regola JS: lo stesso codice che osserva gli elementi degli hash dei commit
- In più: invece di creare un pulsante DOM, usa un'azione PULSANTE «📋 SHA» nella barra delle azioni JustZix — visivamente coerente con le altre azioni
Script 3: «Reddit: nascondi le pubblicità»
Lo userscript Tampermonkey nasconde gli elementi .promoted. JustZix:
- Regola CSS (non JS!) — più pulita, più veloce:
.promoted, [data-promoted="true"] { display: none !important; } - Bonus: aggiungi un TOGGLE3 «Mode» (Default / Nascondi pubblicità / Nascondi pubblicità+sponsorizzato) con le variabili CSS di 3 stati
I pattern CSS-first sono spesso più semplici di un observer JS.
Trappole di migrazione
- Le API GM_* sono diverse. Tampermonkey: GM_setValue, GM_getValue, GM_xmlhttpRequest, GM_notification. JustZix:
chrome.storage.local/sync,fetchnativo,JUSTZIX.logcome canale di log. - @require non ha equivalente. Gli userscript possono importare jQuery via URL. In JustZix incolli inline (~10 KB minificato) o
fetch + new Function(rischio CSP). - Tampermonkey Cloud Sync è a pagamento. Il chrome.storage.sync di JustZix è gratis ma limitato a 100 KB. Oltre → chrome.storage.local (niente sincronizzazione). In pratica: 50-100 regole.
- greasyfork.org ha script che JustZix non ha. Se dipendi da uno userscript greasyfork specifico — la migrazione è dispersa (copia il corpo, adatta le chiamate GM_*). Realisticamente: il 50% degli userscript ha meno di 100 righe, migrazione ~5 min.
Cosa fare dopo
- Migrare da Stylish/Stylus — la controparte per gli userstyle
- Mini-IDE nella scheda — cosa aggiunge JustZix oltre agli userscript
- window.JZ + JUSTZIX — l'equivalente JustZix dell'API GM_*
Installa JustZix — Tampermonkey può vivere in parallelo. Prova 2 settimane, vedi quale resta.
Valuta questo articolo
Nessuna valutazione — sii il primo.