Mastodon: stop video autoplay
Stops videos from auto-playing in the timeline so you have to click to start each clip.
Code to copy
// 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);
})();
How to use this example
- Copy the code with the button above.
- Install JustZix (2 minutes) and open the extension on the target page.
- Add a new rule matching that page.
- Paste the code into the rule's JavaScript panel and save — it runs on every page visit.
Rate this example
No ratings yet — be the first.