Native Lazyload

説明

Lazy-loads media using the native browser feature. Learn more about the new loading attribute or view the WordPress core ticket where inclusion of a similar implementation in WordPress core itself is being discussed.

If the loading attribute is not supported by the browser, the plugin falls back to a JavaScript solution based on IntersectionObserver. For the case that JavaScript is disabled, but the loading attribute is supported by the browser, a noscript variant of the respective element will be added that also includes the loading attribute without any further changes.

ネイティブ = 高速

If you have found your way over here, you are probably aware of how crucial performance is for a website’s user experience and success. You might also know that lazy-loading is a key feature to improve said performance. However, the solutions for lazy-loading so far still added a bit of overhead themselves, since they relied on loading, parsing and running custom JavaScript logic, that may be more or less heavy on performance.

This plugin largely does away with this pattern. It relies on the new loading attribute, which makes lazy-loading a native browser functionality. The attribute is already supported by Chrome, and will be rolled out to other browsers over time. The solution being “native” means that it does not rely on custom JavaScript logic, and thus is more lightweight. And “more lightweight” means “faster”.

Last but not least, a neat thing to keep in mind is that this plugin will essentially improve itself over time, as more browsers roll out support for the loading attribute.

使い方

Just activate the plugin, and all your images and iframes in post content will be loaded lazily.

クレジット

This plugin is partly based on logic from WP Rig as well as recommendations from web.dev and developers.google.com.

インストール

  1. Upload the entire native-lazyload folder to the /wp-content/plugins/ directory or download it through the WordPress backend.
  2. WordPress の「プラグイン」メニューから有効化してください。

FAQ

Where are the plugin’s settings?

This plugin does not have a settings screen. Just by activating it, the plugin will work.

How can I prevent an image or iframe from being loaded lazily?

You can add a class skip-lazy to indicate to the plugin you would like to skip lazy-loading for this image or iframe.

This plugin still loads an extra JavaScript file! I don’t want that.

This is perfectly fair. Note that the plugin only loads the JavaScript file as a fallback for when the user’s browser does not support the native loading attribute yet. The file includes logic to still autoload the image in a non-native way. If you prefer to purely rely on the loading attribute and not provide any fallback, you can easily disable it by adding a line add_filter( 'native_lazyload_fallback_script_enabled', '__return_false' ) somewhere in your site’s codebase.

Does this work with AMP?

If you use AMP, you don’t actually need this, since AMP intelligently lazy-loads media out of the box. Still, the plugin is built in a way that it will not break AMP compatibility, just to make sure.

Where should I submit my support request?

For regular support requests, please use the wordpress.org support forums. If you have a technical issue with the plugin where you already have more insight on how to fix it, you can also open an issue on Github instead.

How can I contribute to the plugin?

If you have some ideas to improve the plugin or to solve a bug, feel free to raise an issue or submit a pull request in the Github repository for the plugin. Please stick to the contributing guidelines.

翻訳に協力してプラグインに貢献することもできます。始めるにはまず translate.wordpress.org にアクセスしてください。

評価

2019年9月13日
I made my site doesn't load image from img src attribute. Featured Image from URL is not loading too. Quite disappointing.
2019年9月12日
So i tested up plugin in few browsers, and so far it works in Firefox 69 and Edge 44.17763.1.0 In Chrome 77.0.3865.75 only some pictures are "lazy loading", others are not. It doesn't work in Chrome Canary and Opera developer
2019年9月12日
Seems to work in IE, Edge, and Firefox... but not Chrome. Some images on my site refuse to load it the plugin is active. as soon as it is disabled, it works again. That's pretty funny.
2019年9月8日
I don't see any changes on my site's load speed nor web page size in "KB" (tested with GTMetrix). Images load normally. I have also checked from browser "network" tab. Images load normally before I even start scrolling.
11件のレビューをすべて表示

貢献者と開発者

Native Lazyload はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Native Lazyload” は13ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Native Lazyload” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

1.0.1

  • Improve compatibility with other plugins by using more specific class and only adding it for JS fallback.
  • Run lazy-load script on DOMContentLoaded when necessary to improve compatibility with plugins like Autoptimize.
  • Do not transform elements inside an AJAX response due to lack of predictability of the context and script execution.

1.0.0

  • 最初のリリース