the official IntersectionObserver polyfill<\/a> to overcome the limited support of this API.<\/p>\n","protected":false},"excerpt":{"rendered":"There are a few different “traditional” ways of lazy loading of images. They all require JavaScript needing to figure out if an image is currently visible within the browser’s viewport or not. Traditional approaches might be: Listening to scroll and resize events on the window Using a timer like setInterval Both of these have performance […]<\/p>\n","protected":false},"author":249955,"featured_media":260268,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":[]},"categories":[4],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2017\/09\/s_29E8C45E02B8336138FF9D42F6FED1CE28964941DD8BFD3FD5E751E96FE0C633_1504810907674_lozad-banner.png?fit=1548%2C590&ssl=1","jetpack-related-posts":[{"id":286080,"url":"https:\/\/css-tricks.com\/native-lazy-loading\/","url_meta":{"origin":260267,"position":0},"title":"Native Lazy Loading","date":"April 8, 2019","format":false,"excerpt":"IntersectionObserver has made lazy loading a lot easier and more efficient than it used to be, but to do it really right you still gotta remove the src and such, which is cumbersome. It's definitely not as easy as: Addy Osmani says it's coming in Chrome 75: The loading attribute\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/09\/lazy-load-image.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":275613,"url":"https:\/\/css-tricks.com\/a-native-lazy-load-for-the-web-platform\/","url_meta":{"origin":260267,"position":1},"title":"A Native Lazy Load for the Web","date":"August 27, 2018","format":false,"excerpt":"A new Chrome feature dubbed \"Blink LazyLoad\" is designed to dramatically improve performance by deferring the load of below-the-fold images and third-party s. The goals of this bold experiment are to improve the overall render speed of content that appears within a user\u2019s viewport (also known as above-the-fold), as well\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/08\/lazyload.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":303044,"url":"https:\/\/css-tricks.com\/native-image-lazy-loading-in-chrome-is-way-too-eager\/","url_meta":{"origin":260267,"position":2},"title":"Native Image Lazy Loading in Chrome Is Way Too Eager","date":"February 5, 2020","format":false,"excerpt":"Interesting research from Aaron Peters on : On my 13 inch macbook, with Dock positioned on the left, the viewport height in Chrome is 786 pixels so images with\u00a0loading=\"lazy\"\u00a0that are more than 4x the viewport down the page are eagerly fetched by Chrome on page load.In my\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/08\/chrome.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":287494,"url":"https:\/\/css-tricks.com\/a-deep-dive-into-native-lazy-loading-for-images-and-frames\/","url_meta":{"origin":260267,"position":3},"title":"A Deep Dive into Native Lazy-Loading for Images and Frames","date":"May 15, 2019","format":false,"excerpt":"Today's websites are packed with heavy media assets like images and videos. Images make up around 50% of an average website's traffic. Many of them, however, are never shown to a user because they're placed way below the fold. What\u2019s this thing about images being lazy, you ask? Lazy-loading is\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/05\/diving-board-1.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":276700,"url":"https:\/\/css-tricks.com\/the-complete-guide-to-lazy-loading-images\/","url_meta":{"origin":260267,"position":4},"title":"The Complete Guide to Lazy Loading Images","date":"September 25, 2018","format":false,"excerpt":"Wondering how lazy loading images works? It's an important thing to understand as it can really speed up the loading of your page and reduce bandwidth usage both for your site and the user.","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/09\/lazy-featured-1.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":294443,"url":"https:\/\/css-tricks.com\/lazy-load-embedded-youtube-videos\/","url_meta":{"origin":260267,"position":5},"title":"Lazy load embedded YouTube videos","date":"August 20, 2019","format":false,"excerpt":"This is a very clever idea via Arthur Corenzan. Rather than use the default YouTube embed, which adds a crapload of resources to a page whether the user plays the video or not, use the little tiny placeholder webpage that is just an image you can click that is linked\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/09\/lazy-load-image.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"featured_media_src_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2017\/09\/s_29E8C45E02B8336138FF9D42F6FED1CE28964941DD8BFD3FD5E751E96FE0C633_1504810907674_lozad-banner.png?fit=1024%2C390&ssl=1","_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/260267"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/249955"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=260267"}],"version-history":[{"count":6,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/260267\/revisions"}],"predecessor-version":[{"id":292734,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/260267\/revisions\/292734"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/260268"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=260267"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=260267"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=260267"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}