1. JavaScript modules via script tag

    Loading JavaScript module scripts (aka ES6 modules) using `<script type="module">` Includes support for the `nomodule` attribute.

  2. JavaScript modules: dynamic import()

    Loading JavaScript modules dynamically using the import() syntax

  3. CSS Font Loading

    This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script. It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page.

  4. IntersectionObserver

    API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport. The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content.

  5. Resource Hints: Lazyload

    Gives a hint to the browser to lower the loading priority of a resource. Please note that this is a legacy attribute, see the [`loading`](https://caniuse.com/#feat=loading-lazy-attr) attribute for the new standardized API.

  6. Lazy loading via attribute for images & iframes

    The `loading` attributing on images & iframes gives authors control over when the browser should start loading the resource.

  7. applicationcache api: ondownloading

  8. fontfaceset api: onloading

  9. fontfaceset api: onloadingdone

  10. fontfaceset api: onloadingerror

  11. htmliframeelement api: loading

  12. htmlimageelement api: loading

  13. performancetiming api: domloading

  14. html element: iframe: loading

  15. html element: img: loading