MediaWiki:Gadget-Common.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/** Common JavaScript functions used over all skins and platforms. */
RLQ.push(['jquery', function () {
$(document).ready(function() {
var lazyImages = [].slice.call(document.querySelectorAll(".lazy-img"));
console.log("Images to lazy load:", lazyImages.length);
if ("IntersectionObserver" in window) {
var lazyImageObserver = new IntersectionObserver(function(entries, observer) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
var lazyImage = entry.target;
if (lazyImage.dataset.src) { lazyImage.src = lazyImage.dataset.src; }
if (lazyImage.dataset.srcset) { lazyImage.srcset = lazyImage.dataset.srcset; }
lazyImage.classList.remove("lazy-img");
lazyImageObserver.unobserve(lazyImage);
}
});
});
lazyImages.forEach(function(lazyImage) {
lazyImageObserver.observe(lazyImage);
});
} else {
// Possibly fall back to event handlers here
console.log("Lazy Loading seems to have failed.");
}
});
}]);