Native Lazyload + Polyfill

Description

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.

How it works technically (if you care)

  • Adds loading="lazy" to all <img> and <iframe> inside the_content and other areas.
  • Also wraps <img>, <iframe> and the content of <pictures> in <noscript>.
  • Adds the loading-attribute-polyfill to do its magic in JavaScript.

Feedback/Help is very welcome.

Contributors & Developers

“Native Lazyload + Polyfill” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

2019-09-01 – 0.9.12

  • Fix: Release did not contain vendor folder. (Release automation script bug)

2019-09-01 – 0.9.11

  • Improved: better variable name for some code.

2019-09-01 – 0.9.10

  • Improved: Do not fail on weird data types, just cast to string.

2019-08-30 – 0.9.9

  • Fixed: Prevent return of null on the_content filter.
  • Improved: Return early if there is no HTML to be filtered.

2019-08-30 – 0.9.8

  • Improved: Make it work everywhere, skip the wp_body_open thing for now.

2019-08-30 – 0.9.7

  • Fixed: Switched HTML Parsing lib to ivopetkov/html5-dom-document-php native and other libs have many issues and are poorly maintained. This means PHP 7.0+ is needed now
  • Improved: Added more filters.

2019-08-28 – 0.9.3

  • Fixed: Picture tag noscript inner wrapping was not correctly working, QueryPath is now used for HTML modification as PHP DOM and other libraries I tried choked on HTML5 and (nested) noscript tags.

2019-08-28 – 0.9.2

  • Improved: Filtering the_content, at very late time.
  • Improved: Cachebust JS if WP_DEBUG is on.

2019-08-28 – 0.9.1

  • Release