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