{"id":108242,"date":"2019-08-26T18:37:20","date_gmt":"2019-08-26T18:37:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/native-lazyload-polyfill\/"},"modified":"2019-10-11T10:28:38","modified_gmt":"2019-10-11T10:28:38","slug":"native-lazyload-polyfill","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/native-lazyload-polyfill\/","author":8928822,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.0","stable_tag":"1.1.0","tested":"5.2.24","requires":"4.4.0","requires_php":"7.0","requires_plugins":"","header_name":"Native Lazyload + Polyfill","header_author":"Nicolas Jonas","header_description":"Adds native lazyloading to all images and iframes (embeds), also wraps them in <noscript>","assets_banners_color":"282c34","last_updated":"2019-10-11 10:28:38","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/nextgenthemes.com\/donate\/","header_plugin_uri":"https:\/\/nextgenthemes.com\/plugins\/native-lazyload-polyfill\/","header_author_uri":"https:\/\/nextgenthemes.com","rating":0,"author_block_rating":0,"active_installs":20,"downloads":3864,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":[],"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":"2146507","resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":"2146507","resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.9.10","0.9.11","0.9.12","0.9.5","0.9.6","0.9.7","0.9.8","0.9.9","1.0.2","1.0.3","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[230,1860,163,1466,4469],"plugin_category":[],"plugin_contributors":[78270],"plugin_business_model":[],"class_list":["post-108242","plugin","type-plugin","status-publish","hentry","plugin_tags-embed","plugin_tags-iframe","plugin_tags-images","plugin_tags-lazyload","plugin_tags-loading","plugin_contributors-nico23","plugin_committers-nico23"],"banners":{"banner":"https:\/\/ps.w.org\/native-lazyload-polyfill\/assets\/banner-772x250.png?rev=2146507","banner_2x":"https:\/\/ps.w.org\/native-lazyload-polyfill\/assets\/banner-1544x500.png?rev=2146507","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/native-lazyload-polyfill_282c34.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Minimalistic lazyloading, loads images as they come into view. Adds native lazyloading to all images and embeds (Chrome) and adds a polyfill (1.07 KiB gzipped) to make it work in all browsers.<\/p>\n\n<ul>\n<li><a href=\"https:\/\/nextgenthemes.com\/plugins\/native-lazyload-polyfill\/\">Homepage<\/a><\/li>\n<li><a href=\"https:\/\/gitlab.com\/nnico\/native-lazyload-polyfill\">Gitlab<\/a><\/li>\n<\/ul>\n\n<h3>How it works technically (if you care)<\/h3>\n\n<ul>\n<li>Adds <code>loading=\"lazy\"<\/code> to all <code>&lt;img&gt;<\/code> and <code>&lt;iframe&gt;<\/code> inside <code>the_content<\/code> and other areas.<\/li>\n<li>Also wraps <code>&lt;img&gt;<\/code>, <code>&lt;iframe&gt;<\/code> and the content of <code>&lt;pictures&gt;<\/code> in <code>&lt;noscript&gt;<\/code>.<\/li>\n<li>Adds the <a href=\"https:\/\/github.com\/mfranzke\/loading-attribute-polyfill\">loading-attribute-polyfill<\/a> to do its magic in JavaScript.<\/li>\n<\/ul>\n\n<p>Feedback\/Help is very welcome.<\/p>\n\n<!--section=installation-->\n<p>Please refer to <a href=\"https:\/\/codex.wordpress.org\/Managing_Plugins#Automatic_Plugin_Installation\">codex.wordpress.org\/Managing_Plugins#Automatic_Plugin_Installation<\/a>.<\/p>\n\n<!--section=changelog-->\n<h3>2019-10-11 - 1.1.0<\/h3>\n\n<ul>\n<li>Fix: Never wrap a element if its already inside any <code>noscript<\/code> tag.<\/li>\n<\/ul>\n\n<h3>2019-10-07 - 1.0.3<\/h3>\n\n<ul>\n<li>Fix: Recent releases did not contain vendor folder.<\/li>\n<\/ul>\n\n<h3>2019-10-07 - 1.0.1<\/h3>\n\n<ul>\n<li>Improved: Put <code>load=\"eager\"<\/code> on the first element in <code>the_content<\/code>.<\/li>\n<\/ul>\n\n<h3>2019-09-28 - 0.9.13<\/h3>\n\n<ul>\n<li>Improved: Allow duplicate IDs in HTML<\/li>\n<\/ul>\n\n<h3>2019-09-01 - 0.9.12<\/h3>\n\n<ul>\n<li>Fix: Release did not contain vendor folder. (Release automation script bug)<\/li>\n<\/ul>\n\n<h3>2019-09-01 - 0.9.11<\/h3>\n\n<ul>\n<li>Improved: better variable name for some code.<\/li>\n<\/ul>\n\n<h3>2019-09-01 - 0.9.10<\/h3>\n\n<ul>\n<li>Improved: Do not fail on weird data types, just cast to string.<\/li>\n<\/ul>\n\n<h3>2019-08-30 - 0.9.9<\/h3>\n\n<ul>\n<li>Fixed: Prevent return of <code>null<\/code> on <code>the_content<\/code> filter.<\/li>\n<li>Improved: Return early if there is no HTML to be filtered.<\/li>\n<\/ul>\n\n<h3>2019-08-30 - 0.9.8<\/h3>\n\n<ul>\n<li>Improved: Make it work everywhere, skip the <code>wp_body_open<\/code> thing for now.<\/li>\n<\/ul>\n\n<h3>2019-08-30 - 0.9.7<\/h3>\n\n<ul>\n<li>Fixed: Switched HTML Parsing lib to <code>ivopetkov\/html5-dom-document-php<\/code> native and other libs have many issues and are poorly maintained. <strong>This means PHP 7.0+ is needed now<\/strong><\/li>\n<li>Improved: Added more filters.<\/li>\n<\/ul>\n\n<h3>2019-08-28 - 0.9.3<\/h3>\n\n<ul>\n<li>Fixed: Picture tag noscript inner wrapping was not correctly working, <code>QueryPath<\/code> is now used for HTML modification as PHP DOM and other libraries I tried choked on HTML5 and (nested) noscript tags.<\/li>\n<\/ul>\n\n<h3>2019-08-28 - 0.9.2<\/h3>\n\n<ul>\n<li>Improved: Filtering <code>the_content<\/code>, at very late time.<\/li>\n<li>Improved: Cachebust JS if <code>WP_DEBUG<\/code> is on.<\/li>\n<\/ul>\n\n<h3>2019-08-28 - 0.9.1<\/h3>\n\n<ul>\n<li>Release<\/li>\n<\/ul>","raw_excerpt":"Adds native lazyloading to all images and embeds (Chrome) and adds a polyfill to make it work in all browsers.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/108242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=108242"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/nico23"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=108242"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=108242"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=108242"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=108242"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=108242"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=108242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}