← Todos los artículos

Tipos de acciones

Botones de barra de herramientas para copiar como markdown y limpiar URL

Las reglas JS de JustZix se ejecutan automáticamente al cargar la página. Las acciones son distintas — son botones de barra de herramientas cuyo código se ejecuta solo cuando haces clic en ellos. Eso hace que las acciones sean perfectas para herramientas bajo demanda: copiar la página actual como markdown, limpiar la basura de seguimiento de una URL o reescribir enlaces. Aquí tienes tres que usarás cada día.

Acción 1: copiar el título de la página y la URL como markdown

Cuando recopilas enlaces para notas o documentos, quieres un enlace markdown ordenado, no una URL en bruto. Esta acción construye uno y lo copia al portapapeles.

var title = (document.title || location.hostname).trim();
var url = location.href;
var markdown = '[' + title + '](' + url + ')';

navigator.clipboard.writeText(markdown).then(function () {
  console.log('Copiado: ' + markdown);
}).catch(function () {
  console.log('Portapapeles bloqueado — copia manualmente: ' + markdown);
});

Como las acciones se ejecutan al hacer clic, el navegador trata la escritura en el portapapeles como un gesto del usuario, así que navigator.clipboard.writeText está permitido. Una regla JS que se ejecute al cargar la página no podría hacer esto de forma fiable.

Acción 2: copiar el texto seleccionado como markdown

Selecciona un encabezado y algo de texto, haz clic en el botón y obtén markdown de vuelta. Esta versión detecta si la selección está dentro de un elemento de encabezado.

var sel = window.getSelection();
var text = sel ? sel.toString().trim() : '';

if (!text) {
  console.log('Selecciona texto primero.');
} else {
  var node = sel.anchorNode;
  var el = node && node.nodeType === 3 ? node.parentElement : node;
  var tag = el ? (el.tagName || '').toLowerCase() : '';
  var prefix = '';
  if (tag === 'h1') prefix = '# ';
  else if (tag === 'h2') prefix = '## ';
  else if (tag === 'h3') prefix = '### ';

  navigator.clipboard.writeText(prefix + text);
  console.log('Copiado como markdown.');
}

Acción 3: quitar los parámetros de seguimiento de la URL

Los enlaces compartidos a menudo están abarrotados de parámetros de seguimiento utm_*, fbclid, gclid y similares. Esta acción los elimina y copia la URL limpia — sin recargar la página.

var JUNK = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content',
            'fbclid','gclid','mc_eid','ref','ref_src','igshid','_hsenc'];

var u = new URL(location.href);
JUNK.forEach(function (param) {
  u.searchParams.delete(param);
});

var clean = u.toString();
navigator.clipboard.writeText(clean);
console.log('URL limpia copiada: ' + clean);

Si también quieres que la barra de direcciones se actualice, añade history.replaceState(null, '', clean); — reescribe la URL en silencio sin ninguna petición adicional.

Bonificación: abrir todos los enlaces externos en pestañas nuevas

Esta encaja mejor como regla JS (se ejecuta al cargar) que como acción, pero se empareja de forma natural con las herramientas de arriba. Encuentra los enlaces que apuntan a otros dominios y los marca para que se abran en una pestaña nueva de forma segura.

var here = location.hostname;
var links = document.querySelectorAll('a[href^="http"]');

links.forEach(function (a) {
  try {
    if (new URL(a.href).hostname !== here) {
      a.target = '_blank';
      a.rel = 'noopener noreferrer';
    }
  } catch (e) { /* saltar href mal formado */ }
});

Fijar rel="noopener noreferrer" es buena práctica — impide que la página nueva obtenga una referencia de vuelta a tu pestaña.

Cuándo usar una acción frente a una regla

Explora los botones prediseñados en los ejemplos listos para usar, o descarga JustZix para configurarlos. Para ajustes automáticos en el momento de la carga en su lugar, consulta atajos de teclado personalizados.

Valora este artículo

Sin valoraciones — sé el primero.

Pruébalo tú mismo

Instala JustZix y pega cualquier snippet de este artículo. Dos minutos de cero a una regla funcionando en todos tus dispositivos.

Obtener JustZix

Funciones · Cómo funciona · Ejemplos · Casos de uso