| | |
| | | /******/ (() => { // webpackBootstrap |
| | | /*!***************************!*\ |
| | | !*** ./src/video/view.js ***! |
| | | \***************************/ |
| | | /** view.js **/ |
| | | document.addEventListener("DOMContentLoaded", function () { |
| | | const lazyVideos = [].slice.call(document.querySelectorAll(".video-container video")); |
| | | |
| | | // Build a helper to actually set sources + load |
| | | function loadVideo(video) { |
| | | const sources = video.querySelectorAll("source[data-src]"); |
| | | sources.forEach(source => { |
| | | source.src = source.dataset.src; |
| | | }); |
| | | video.load(); |
| | | } |
| | | |
| | | // --- 1. IntersectionObserver (best case) --- |
| | | if ("IntersectionObserver" in window) { |
| | | const lazyVideoObserver = new IntersectionObserver(function (entries, observer) { |
| | | entries.forEach(entry => { |
| | | if (entry.isIntersecting) { |
| | | loadVideo(entry.target); |
| | | observer.unobserve(entry.target); |
| | | } |
| | | }); |
| | | }, { |
| | | rootMargin: "200px 0px", |
| | | threshold: 0.1 |
| | | }); |
| | | lazyVideos.forEach(video => lazyVideoObserver.observe(video)); |
| | | return; |
| | | } |
| | | |
| | | // --- 2. Fallback: requestIdleCallback --- |
| | | if ("requestIdleCallback" in window) { |
| | | requestIdleCallback(() => { |
| | | lazyVideos.forEach(video => loadVideo(video)); |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // --- 3. Final fallback: load immediately --- |
| | | lazyVideos.forEach(video => loadVideo(video)); |
| | | }); |
| | | /******/ })() |
| | | ; |
| | | //# sourceMappingURL=view.js.map |
| | | document.addEventListener("DOMContentLoaded",function(){const e=[].slice.call(document.querySelectorAll(".video-container video"));function r(e){e.querySelectorAll("source[data-src]").forEach(e=>{e.src=e.dataset.src}),e.load()}if("IntersectionObserver"in window){const t=new IntersectionObserver(function(e,t){e.forEach(e=>{e.isIntersecting&&(r(e.target),t.unobserve(e.target))})},{rootMargin:"200px 0px",threshold:.1});return void e.forEach(e=>t.observe(e))}"requestIdleCallback"in window?requestIdleCallback(()=>{e.forEach(e=>r(e))}):e.forEach(e=>r(e))}); |