← 全部示例

JavaScript 媒体 mastodon.social

Mastodon:禁用视频自动播放

阻止时间线中的视频自动播放,需点击才能启动每个片段。

可复制的代码

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

如何使用此示例

  1. 用上方按钮复制代码。
  2. 安装 JustZix(2 分钟),在目标页面打开扩展。
  3. 添加一条匹配该页面的新规则。
  4. 将代码粘贴到规则的 JavaScript 面板并保存 — 每次访问页面时都会运行。

为此示例评分

暂无评分 — 成为第一个。

此示例有效吗?

没有可粘贴的地方,代码片段毫无用处。

JustZix 安装只需 2 分钟,并在每个匹配的页面上运行你的代码。无需账户、无需付费。

免费下载 查看应用场景