← Todos los ejemplos

JavaScript Medios slack.com

Slack: pausar los GIF animados

Congela los GIF animados en su primer fotograma para que la conversación deje de parpadear.

Código para copiar

// Pause animated GIFs by freezing them onto a static canvas after they load
function freezeGifs() {
  document.querySelectorAll('img[src*=".gif"]:not([data-jz-frozen])').forEach(function (img) {
    img.setAttribute('data-jz-frozen', '1');
    if (!img.naturalWidth) { return; }
    const c = document.createElement('canvas');
    c.width = img.naturalWidth;
    c.height = img.naturalHeight;
    try {
      c.getContext('2d').drawImage(img, 0, 0);
      img.src = c.toDataURL();
    } catch (e) { /* cross-origin image, leave as is */ }
  });
}
freezeGifs();
const gifObs = new MutationObserver(freezeGifs);
gifObs.observe(document.documentElement, { 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