← Todos los ejemplos

JavaScript Productividad stackoverflow.com

Stack Overflow: botón para copiar el código

Añade un pequeño botón "Copy" a cada bloque de código que copia todo el contenido con un clic.

Código para copiar

/* Add a "Copy" button to every code block */
(function () {
  function addButtons() {
    document.querySelectorAll('.s-prose pre, .js-post-body pre').forEach(function (pre) {
      if (pre.dataset.sofCopy) return;
      pre.dataset.sofCopy = '1';
      pre.style.position = 'relative';
      var btn = document.createElement('button');
      btn.textContent = 'Copy';
      btn.style.cssText = 'position:absolute;top:6px;right:6px;font-size:11px;padding:2px 8px;cursor:pointer;border:1px solid #aaa;border-radius:4px;background:#fff;z-index:5;';
      btn.addEventListener('click', function () {
        var code = pre.querySelector('code') || pre;
        navigator.clipboard.writeText(code.innerText).then(function () {
          btn.textContent = 'Copied!';
          setTimeout(function () { btn.textContent = 'Copy'; }, 1500);
        });
      });
      pre.appendChild(btn);
    });
  }
  addButtons();
  new MutationObserver(addButtons).observe(document.body, { childList: true, subtree: true });
})();

Cómo usar este ejemplo

  1. Copia el código con el botón de arriba.
  2. Instala JustZix (2 minutos) y abre la extensión en la página de destino.
  3. Añade una nueva regla que coincida con esa página.
  4. Pega el código en el panel JavaScript de la regla y guarda — se ejecuta en cada visita a la página.

Valora este ejemplo

Sin valoraciones — sé el primero.

¿Funciona este ejemplo?

Los snippets son inútiles sin un lugar donde pegarlos.

JustZix se instala en 2 minutos y ejecuta tu código en cada página coincidente. Sin cuenta, sin pago.

Descargar gratis Ver casos de uso