Greasy Fork is available in English.
Automatically loops HTML5 videos when they finish
// ==UserScript==
// @name Auto Loop HTML5 Videos
// @namespace https://greasyfork.org/users/yourname
// @version 1.1
// @description Automatically loops HTML5 videos when they finish
// @author You
// @license MIT
// @match *://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
function enableLoop(video) {
if (!video || video.dataset.autoLoopApplied) return;
// Enable native looping
video.loop = true;
// Fallback restart in case site disables loop
video.addEventListener('ended', function() {
video.currentTime = 0;
video.play().catch(() => {});
});
video.dataset.autoLoopApplied = "true";
}
function scanForVideos() {
document.querySelectorAll('video').forEach(enableLoop);
}
// Initial scan
scanForVideos();
// Observe dynamically added videos
const observer = new MutationObserver(() => {
scanForVideos();
});
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
})();