APIs programáticas — JZ y JUSTZIX
JustZix expone dos globales de ayuda ya listos en cada script de regla. <code>JZ</code> controla los botones de acción y <code>JUSTZIX</code> registra en la ventana Output Console — sin pegamento DOM artesanal.
Qué es la API de ayuda dentro de la página
Cada fragmento de JavaScript de una regla JustZix — y el código detrás de cada botón de acción — se ejecuta en un contexto donde te esperan dos globales ya listos: window.JZ y window.JUSTZIX. Nada que importar, nada que cargar; están disponibles desde la primera línea de tu script.
Es una API deliberadamente pequeña. En lugar de cientos de métodos te da dos puntos de anclaje sólidos: uno para controlar los botones de acción, otro para registrar. Todo lo demás lo haces con el JavaScript normal de la página.
JZ — controlar los botones de acción
El objeto JZ conecta tu código con los botones de acción de la extensión. Los métodos clave son:
JZ.click('LBL')— hace clic programáticamente en el botón de acción etiquetado «LBL».JZ.action('LBL')— devuelve el elemento DOM del botón, para darle estilo o inspeccionar sus atributos.JZ.actions()— un array de todos los botones de acción visibles.JZ.labels()— un array de las etiquetas originales con sus mayúsculas y minúsculas preservadas.
La búsqueda de etiquetas no distingue mayúsculas — JZ.click('btn') y JZ.click('BTN') aciertan el mismo botón.
JUSTZIX — registrar en la Output Console
El objeto JUSTZIX es un logger que escribe directamente en la ventana Output Console de la extensión. Ofrece JUSTZIX.log(), .warn(), .error(), .info() y .debug() — cada uno añade una entrada en el nivel correspondiente. Los alias __JUSTZIX__ y JZ.log también están a mano.
Así sigues lo que hace una regla sin abrir las DevTools. Los mensajes aterrizan en un único lugar tranquilo, separado del ruido de la consola del navegador.
Por qué una API estable supera al pegamento DOM artesanal
Podrías buscar los botones por selector y disparar tus propios eventos, pero ese código se rompe en cuanto cambia el diseño de la extensión. JZ y JUSTZIX te dan un contrato estable: el mismo nombre de método funciona sin importar cómo cambien las entrañas.
Combínalo con un mutation observer y tendrás un flujo de trabajo real — una regla espera un elemento, hace clic en una serie de acciones e informa del resultado:
// Acción «AUTO» — encadena otras tres acciones
JZ.click('LOAD');
setTimeout(() => JZ.click('PROC'), 500);
setTimeout(() => { JZ.click('SAVE'); JUSTZIX.info('listo'); }, 1500);
Entradas de blog relacionadas
Entradas que tratan este tema con más detalle.