Files
com.xaymar.www/assets/js/lazyload.mjs
T

30 lines
737 B
JavaScript
Raw Normal View History

2024-05-16 11:40:24 +02:00
'use strict';
async function lazyload() {
async function lazyloadPerform(element) {
let content = element.querySelector("noscript");
if (content) {
element.innerHTML = content.innerText;
}
}
// Figure out what to load.
let elements = document.querySelectorAll(".block-this._media > [data-lazyload]");
let stack = Array.from(elements);
console.debug("Lazily loading " + stack.length + " elements...");
// Add a lazyloading handler to all entries.
for (let el of stack) {
lazyloadPerform(el);
}
}
if (document.readyState === "complete"
|| document.readyState === "loaded"
|| document.readyState === "interactive") {
lazyload();
} else {
document.addEventListener('DOMContentLoaded', () => {
lazyload();
});
}