Die Technologie zum verzögerten Laden von Bildern ist sehr praktisch für Websites mit hohem Datenverkehr. Derzeit werden Bilder häufig auf Websites verwendet, da sie den Server und die Bandbreite stark belasten. Dadurch kann die Anzahl der Website-Anfragen erheblich reduziert werden Netzwerkbandbreitenressourcen können reduziert werden.
Enthüllung
Dies ist eine sehr leichte Komponente zum Laden von Bildern
Sie unterstützt moderne Browser und IE7+ und hat fast 3.000 Sterne auf Github (folgen)
Verwenden Sie
Allgemeine Bilder
<img src="bg.png" data-src="img1.jpg" />
Für Retina-fähige Geräte
<img src="bg.png" data-src="img2.jpg" data-src-retina="img2-retina.jpg" />
Anwenden
$(document).ready(function() { $("img").unveil(); });
Support-Rückruf
$("img").unveil(200, function() { $(this).load(function() { this.style.opacity = 1; }); });
Unterstützt manuelles Auslösen
$("img").trigger("unveil");
jquery_lazyload
Es kann das Laden von Bildern großer Websites verzögern und sie beim Scrollen in den Bereich rendern. Es gibt 4.000 Follower auf Github.
Verwenden Sie
Referenz jQuery und lazyload.js
<script src="jquery.js" type="text/javascript"></script> <script src="jquery.lazyload.js" type="text/javascript"></script>
Bilder, die verzögert geladen werden müssen
<img class="lazy" data-original="img/example.jpg" width="640" height="480">
Anwenden
$(function() { $("img.lazy").lazyload(); });
Echo
Eine unabhängige Logo-artige JavaScript-Bildbibliothek mit verzögertem Laden. Verlässt sich nicht auf jQuery, nur 2 KB nach der Komprimierung.
Unterstützt IE8+
Verwenden Sie
<body> <img src="img/blank.gif" alt="Photo" data-echo="img/photo.jpg"> <script src="dist/echo.js"></script> <script> echo.init({ offset: 100, throttle: 250, unload: false, callback: function (element, op) { console.log(element, 'has been', op + 'ed') } }); // echo.render(); //手动触发调用 </script> </body>
layzr.js
Eine Image Lazy Loading-Komponente, die erst vor ein paar Tagen veröffentlicht wurde, klein und schnell Abhängigkeiten (keine Abhängigkeit von jQuery), unterstützt auch Retina-Geräte.
<script src="layzr.min.js"></script> <img src="optional/placeholder" data-layzr="normal/image" data-layzr-retina="optional/retina/image"> <script> var layzr = new Layzr({ attr: 'data-layzr', retinaAttr: 'data-layzr-retina', threshold: 0, callback: null }); </script>
Update
Wie lässt man also den Server eine Reihe von IMGs in HTML in Data-SRC konvertieren? Tatsächlich ist es sehr einfach, nur ein paar Zeilen regulärer Regeln reichen aus. In node.js können Sie beispielsweise den src von img in data-src konvertieren (Sie können ihn direkt in der Konsole des Browsers ausführen, indem Sie F12 drücken). 🎜>
var html = '包含 <img src="http://ourjs.com/img/weixin.jpg"> 的HTML' html = html.replace(/<img[^>]+>/g, function(imgstr, idx) { imgstr = imgstr.replace(' src=', ' data-src=') return imgstr })