lazysizes
Version:
High performance (jankfree) lazy loader for images (including responsive images), iframes and scripts (widgets).
2 lines • 1.22 kB
JavaScript
/*! lazysizes - v4.0.1 */
!function(a,b){var c=function(){b(a.lazySizes),a.removeEventListener("lazyunveilread",c,!0)};b=b.bind(null,a,a.document),"object"==typeof module&&module.exports?b(require("lazysizes")):a.lazySizes?c():a.addEventListener("lazyunveilread",c,!0)}(window,function(a,b,c){var d=navigator.userAgent;a.HTMLPictureElement&&/ecko/.test(d)&&d.match(/rv\:(\d+)/)&&RegExp.$1<41&&addEventListener("resize",function(){var c,d=b.createElement("source"),e=function(a){var b,c,e=a.parentNode;"PICTURE"===e.nodeName.toUpperCase()?(b=d.cloneNode(),e.insertBefore(b,e.firstElementChild),setTimeout(function(){e.removeChild(b)})):(!a._pfLastSize||a.offsetWidth>a._pfLastSize)&&(a._pfLastSize=a.offsetWidth,c=a.sizes,a.sizes+=",100vw",setTimeout(function(){a.sizes=c}))},f=function(){var a,c=b.querySelectorAll("picture > img, img[srcset][sizes]");for(a=0;a<c.length;a++)e(c[a])},g=function(){clearTimeout(c),c=setTimeout(f,99)},h=a.matchMedia&&matchMedia("(orientation: landscape)"),i=function(){g(),h&&h.addListener&&h.addListener(g)};return d.srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",/^[c|i]|d$/.test(b.readyState||"")?i():b.addEventListener("DOMContentLoaded",i),g}())});