← Tutti gli esempi

JavaScript Media slack.com

Slack: metti in pausa le GIF animate

Congela le GIF animate sul primo fotogramma così la conversazione smette di tremolare.

Codice da copiare

// 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 });

Come usare questo esempio

  1. Copia il codice con il pulsante qui sopra.
  2. Installa JustZix (2 minuti) e apri l'estensione sulla pagina di destinazione.
  3. Aggiungi una nuova regola corrispondente a quella pagina.
  4. Incolla il codice nel pannello JavaScript della regola e salva — viene eseguito a ogni visita della pagina.

Valuta questo esempio

Nessuna valutazione — sii il primo.

Questo esempio funziona?

Gli snippet sono inutili senza un posto dove incollarli.

JustZix si installa in 2 minuti ed esegue il tuo codice su ogni pagina corrispondente. Senza account, senza pagamento.

Scarica gratis Guarda i casi d'uso