Observers replace polling and scroll or resize handlers with batched callbacks. All have observe() and disconnect().
| Observer | Reports | Status |
|---|---|---|
| MutationObserver | DOM changes (MutationObserver) | Widely available (2015) |
| ResizeObserver | Element size changes | Widely available (2020) |
| IntersectionObserver | Visibility in a viewport or scroller | Widely available (2019) |
| PerformanceObserver | Performance timeline entries | All engines |
| ReportingObserver | Deprecations, interventions, violations | Newly available (2026) |