← Todos los ejemplos

JavaScript Medios mastodon.social

Mastodon: detener reproducción automática de vídeo

Detiene la reproducción automática de vídeos en la línea de tiempo, requiriendo un clic.

Código para copiar

// Pause auto-playing videos and force click-to-play
(function () {
  function pauseAll() {
    document.querySelectorAll('video').forEach(function (v) {
      if (v.dataset.jzPaused) { return; }
      v.dataset.jzPaused = '1';
      v.autoplay = false;
      v.removeAttribute('autoplay');
      try { v.pause(); } catch (e) { /* ignore */ }
    });
  }
  pauseAll();
  var obs = new MutationObserver(pauseAll);
  obs.observe(document.body, { childList: true, subtree: true });
  document.addEventListener('play', function (e) {
    var v = e.target;
    if (v && v.tagName === 'VIDEO' && !v.dataset.jzUserPlay) {
      try { v.pause(); } catch (err) { /* ignore */ }
    }
  }, true);
  document.addEventListener('click', function (e) {
    var v = e.target && e.target.closest && e.target.closest('video');
    if (v) { v.dataset.jzUserPlay = '1'; }
  }, 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