const VISIBILITY_COVERAGE_FRACTION = 0.25; window.addEventListener("DOMContentLoaded", () => { const players = document.querySelectorAll("[data-auto-play]"); players.forEach((player) => { if (!(player instanceof HTMLVideoElement)) return; let loaded = false; new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (!loaded && entry.intersectionRatio > VISIBILITY_COVERAGE_FRACTION) { player.removeAttribute("preload"); player.setAttribute("autoplay", ""); loaded = true; } }); }, { threshold: VISIBILITY_COVERAGE_FRACTION }, ).observe(player); }); });