{ "title":"Lazy loading via attribute for images & iframes", "description":"The `loading` attribute on images & iframes gives authors control over when the browser should start loading the resource. ", "spec":"https://html.spec.whatwg.org/multipage/urls-and-fetching.html#lazy-loading-attributes", "status":"ls", "links":[ { "url":"https://addyosmani.com/blog/lazy-loading/", "title":"Blog post" }, { "url":"https://github.com/scott-little/lazyload", "title":"Explainer" }, { "url":"https://webkit.org/b/196698", "title":"WebKit support bug" }, { "url":"https://bugzilla.mozilla.org/show_bug.cgi?id=1622090", "title":"Firefox support bug for lazy loading iframes" }, { "url":"https://github.com/mfranzke/loading-attribute-polyfill", "title":"Polyfill" } ], "bugs":[ { "description":"Safari 16.1 and below displays a gray border while lazy loading images ([243601](https://bugs.webkit.org/show_bug.cgi?id=243601))" }, { "description":"Safari does not load lazy loaded elements before printing ([224547](https://bugs.webkit.org/show_bug.cgi?id=224547)). Chromium fixed a similar bug in January 2022 ([875403](https://bugs.chromium.org/p/chromium/issues/detail?id=875403))." }, { "description":"Chromium-based browsers have a memory leak when lazy loading images ([1213045](https://bugs.chromium.org/p/chromium/issues/detail?id=1213045)). This issue was fixed in late 2023 for release M116." }, { "description":"Firefox requires the loading attribute to be set BEFORE the src element for Javascript created images ([1647077](https://bugzilla.mozilla.org/show_bug.cgi?id=1647077))" } ], "categories":[ "HTML5" ], "stats":{ "ie":{ "5.5":"n", "6":"n", "7":"n", "8":"n", "9":"n", "10":"n", "11":"n" }, "edge":{ "12":"n", "13":"n", "14":"n", "15":"n", "16":"n", "17":"n", "18":"n", "79":"y", "80":"y", "81":"y", "83":"y", "84":"y", "85":"y", "86":"y", "87":"y", "88":"y", "89":"y", "90":"y", "91":"y", "92":"y", "93":"y", "94":"y", "95":"y", "96":"y", "97":"y", "98":"y", "99":"y", "100":"y", "101":"y", "102":"y", "103":"y", "104":"y", "105":"y", "106":"y", "107":"y", "108":"y", "109":"y", "110":"y", "111":"y", "112":"y", "113":"y", "114":"y", "115":"y", "116":"y", "117":"y", "118":"y", "119":"y", "120":"y" }, "firefox":{ "2":"n", "3":"n", "3.5":"n", "3.6":"n", "4":"n", "5":"n", "6":"n", "7":"n", "8":"n", "9":"n", "10":"n", "11":"n", "12":"n", "13":"n", "14":"n", "15":"n", "16":"n", "17":"n", "18":"n", "19":"n", "20":"n", "21":"n", "22":"n", "23":"n", "24":"n", "25":"n", "26":"n", "27":"n", "28":"n", "29":"n", "30":"n", "31":"n", "32":"n", "33":"n", "34":"n", "35":"n", "36":"n", "37":"n", "38":"n", "39":"n", "40":"n", "41":"n", "42":"n", "43":"n", "44":"n", "45":"n", "46":"n", "47":"n", "48":"n", "49":"n", "50":"n", "51":"n", "52":"n", "53":"n", "54":"n", "55":"n", "56":"n", "57":"n", "58":"n", "59":"n", "60":"n", "61":"n", "62":"n", "63":"n", "64":"n", "65":"n", "66":"n", "67":"n", "68":"n", "69":"n", "70":"n", "71":"n", "72":"n", "73":"n", "74":"n", "75":"a #1", "76":"a #1", "77":"a #1", "78":"a #1", "79":"a #1", "80":"a #1", "81":"a #1", "82":"a #1", "83":"a #1", "84":"a #1", "85":"a #1", "86":"a #1", "87":"a #1", "88":"a #1", "89":"a #1", "90":"a #1", "91":"a #1", "92":"a #1", "93":"a #1", "94":"a #1", "95":"a #1", "96":"a #1", "97":"a #1", "98":"a #1", "99":"a #1", "100":"a #1", "101":"a #1", "102":"a #1", "103":"a #1", "104":"a #1", "105":"a #1", "106":"a #1", "107":"a #1", "108":"a #1", "109":"a #1", "110":"a #1", "111":"a #1", "112":"a #1", "113":"a #1", "114":"a #1", "115":"a #1", "116":"a #1", "117":"a #1", "118":"a #1", "119":"a #1", "120":"a #1", "121":"y", "122":"y", "123":"y" }, "chrome":{ "4":"n", "5":"n", "6":"n", "7":"n", "8":"n", "9":"n", "10":"n", "11":"n", "12":"n", "13":"n", "14":"n", "15":"n", "16":"n", "17":"n", "18":"n", "19":"n", "20":"n", "21":"n", "22":"n", "23":"n", "24":"n", "25":"n", "26":"n", "27":"n", "28":"n", "29":"n", "30":"n", "31":"n", "32":"n", "33":"n", "34":"n", "35":"n", "36":"n", "37":"n", "38":"n", "39":"n", "40":"n", "41":"n", "42":"n", "43":"n", "44":"n", "45":"n", "46":"n", "47":"n", "48":"n", "49":"n", "50":"n", "51":"n", "52":"n", "53":"n", "54":"n", "55":"n", "56":"n", "57":"n", "58":"n", "59":"n", "60":"n", "61":"n", "62":"n", "63":"n", "64":"n", "65":"n", "66":"n", "67":"n", "68":"n", "69":"n", "70":"n", "71":"n", "72":"n", "73":"n", "74":"n", "75":"n d", "76":"n d", "77":"y", "78":"y", "79":"y", "80":"y", "81":"y", "83":"y", "84":"y", "85":"y", "86":"y", "87":"y", "88":"y", "89":"y", "90":"y", "91":"y", "92":"y", "93":"y", "94":"y", "95":"y", "96":"y", "97":"y", "98":"y", "99":"y", "100":"y", "101":"y", "102":"y", "103":"y", "104":"y", "105":"y", "106":"y", "107":"y", "108":"y", "109":"y", "110":"y", "111":"y", "112":"y", "113":"y", "114":"y", "115":"y", "116":"y", "117":"y", "118":"y", "119":"y", "120":"y", "121":"y", "122":"y", "123":"y" }, "safari":{ "3.1":"n", "3.2":"n", "4":"n", "5":"n", "5.1":"n", "6":"n", "6.1":"n", "7":"n", "7.1":"n", "8":"n", "9":"n", "9.1":"n", "10":"n", "10.1":"n", "11":"n", "11.1":"n", "12":"n", "12.1":"n", "13":"n", "13.1":"n d #2", "14":"n d #2", "14.1":"n d #2", "15":"n d #2", "15.1":"n d #2", "15.2-15.3":"n d #2", "15.4":"a d #3", "15.5":"a d #3", "15.6":"a d #3", "16.0":"a d #3", "16.1":"a d #3", "16.2":"a d #3", "16.3":"a d #3", "16.4":"y", "16.5":"y", "16.6":"y", "17.0":"y", "17.1":"y", "17.2":"y", "TP":"y" }, "opera":{ "9":"n", "9.5-9.6":"n", "10.0-10.1":"n", "10.5":"n", "10.6":"n", "11":"n", "11.1":"n", "11.5":"n", "11.6":"n", "12":"n", "12.1":"n", "15":"n", "16":"n", "17":"n", "18":"n", "19":"n", "20":"n", "21":"n", "22":"n", "23":"n", "24":"n", "25":"n", "26":"n", "27":"n", "28":"n", "29":"n", "30":"n", "31":"n", "32":"n", "33":"n", "34":"n", "35":"n", "36":"n", "37":"n", "38":"n", "39":"n", "40":"n", "41":"n", "42":"n", "43":"n", "44":"n", "45":"n", "46":"n", "47":"n", "48":"n", "49":"n", "50":"n", "51":"n", "52":"n", "53":"n", "54":"n", "55":"n", "56":"n", "57":"n", "58":"n", "60":"n", "62":"n d", "63":"n d", "64":"y", "65":"y", "66":"y", "67":"y", "68":"y", "69":"y", "70":"y", "71":"y", "72":"y", "73":"y", "74":"y", "75":"y", "76":"y", "77":"y", "78":"y", "79":"y", "80":"y", "81":"y", "82":"y", "83":"y", "84":"y", "85":"y", "86":"y", "87":"y", "88":"y", "89":"y", "90":"y", "91":"y", "92":"y", "93":"y", "94":"y", "95":"y", "96":"y", "97":"y", "98":"y", "99":"y", "100":"y", "101":"y", "102":"y", "103":"y", "104":"y" }, "ios_saf":{ "3.2":"n", "4.0-4.1":"n", "4.2-4.3":"n", "5.0-5.1":"n", "6.0-6.1":"n", "7.0-7.1":"n", "8":"n", "8.1-8.4":"n", "9.0-9.2":"n", "9.3":"n", "10.0-10.2":"n", "10.3":"n", "11.0-11.2":"n", "11.3-11.4":"n", "12.0-12.1":"n", "12.2-12.5":"n", "13.0-13.1":"n", "13.2":"n", "13.3":"n", "13.4-13.7":"n d #2", "14.0-14.4":"n d #2", "14.5-14.8":"n d #2", "15.0-15.1":"n d #2", "15.2-15.3":"n d #2", "15.4":"a d #3", "15.5":"a d #3", "15.6-15.7":"a d #3", "16.0":"a d #3", "16.1":"a d #3", "16.2":"a d #3", "16.3":"a d #3", "16.4":"y", "16.5":"y", "16.6-16.7":"y", "17.0":"y", "17.1":"y", "17.2":"y" }, "op_mini":{ "all":"n" }, "android":{ "2.1":"n", "2.2":"n", "2.3":"n", "3":"n", "4":"n", "4.1":"n", "4.2-4.3":"n", "4.4":"n", "4.4.3-4.4.4":"n", "119":"y" }, "bb":{ "7":"n", "10":"n" }, "op_mob":{ "10":"n", "11":"n", "11.1":"n", "11.5":"n", "12":"n", "12.1":"n", "73":"y" }, "and_chr":{ "119":"y" }, "and_ff":{ "119":"a #1" }, "ie_mob":{ "10":"n", "11":"n" }, "and_uc":{ "15.5":"y" }, "samsung":{ "4":"n", "5.0-5.4":"n", "6.2-6.4":"n", "7.2-7.4":"n", "8.2":"n", "9.2":"n", "10.1":"n", "11.1-11.2":"n", "12.0":"y", "13.0":"y", "14.0":"y", "15.0":"y", "16.0":"y", "17.0":"y", "18.0":"y", "19.0":"y", "20":"y", "21":"y", "22":"y", "23":"y" }, "and_qq":{ "13.1":"y" }, "baidu":{ "13.18":"y" }, "kaios":{ "2.5":"n", "3.0-3.1":"a #1" } }, "notes":"", "notes_by_num":{ "1":"Firefox only supports lazy loading for images", "2":"Can be enabled in Settings under the Safari > Advanced > Experimental Features menu.", "3":"Safari supports lazy image loading. Lazy iframes loading can be enabled under the Experimental Features menu." }, "usage_perc_y":87.87, "usage_perc_a":7.08, "ucprefix":false, "parent":"", "keywords":"lazy-loading,lazyloading,loading=\"lazy\",loading=\"eager\",loading=\"auto\",loading,attribute,lazily,lazy image loading,lazy img loading,iframe loading,native lazyload", "chrome_id":"5645767347798016", "shown":true }