Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2020 browserübergreifend verfügbar.
Die Resize Observer API bietet einen performanten Mechanismus, durch den Code ein Element auf Änderungen seiner Größe überwachen kann, wobei jedes Mal, wenn sich die Größe ändert, Benachrichtigungen an den Beobachter gesendet werden.
Es gibt viele Anwendungsfälle für responsive Design-Techniken (und andere), die auf Änderungen der Größe eines Elements reagieren. Frühere Implementierungen waren jedoch oft umständlich und/oder instabil.
Zum Beispiel sind Media Queries / window.matchMedia großartig, um Layouts an spezifischen Punkten zu aktualisieren, wenn sich die Größe des Ansichtsfensters ändert. Aber was, wenn Sie das Layout in Reaktion auf die Größenänderung eines bestimmten Elements, das nicht der äußere Container ist, ändern möchten?
Um dies zu erreichen, wäre eine begrenzte Lösung, Änderungen an einem geeigneten Ereignis zu überwachen, das auf das Element hindeutet, dessen Größenänderung Sie interessiert (z. B. das window resize event), und dann die neuen Dimensionen oder andere Merkmale des Elements nach einer Größenänderung mittels Element.getBoundingClientRect oder Window.getComputedStyle zu ermitteln.
Eine solche Lösung funktioniert in der Regel nur für begrenzte Anwendungsfälle, ist schlecht für die Leistung (das kontinuierliche Aufrufen der genannten Methoden würde zu einem großen Leistungseinbruch führen) und funktioniert oft nicht, wenn die Größe des Browserfensters nicht geändert wird.
Die Resize Observer API bietet eine Lösung für genau diese Art von Problemen und darüber hinaus, indem sie es Ihnen ermöglicht, Änderungen der Größe des Inhalts oder des Randbereichs eines Elements auf performante Weise zu beobachten und darauf zu reagieren. Sie bietet eine JavaScript-Lösung für das oft diskutierte Fehlen von Element Queries in der Webplattform.
Die Nutzung ist einfach und ähnelt sehr anderen Beobachtern, wie dem Performance Observer oder dem Intersection Observer — Sie erstellen ein neues ResizeObserver Objekt mit dem ResizeObserver() Konstruktor und verwenden dann ResizeObserver.observe(), um ein bestimmtes Element auf Größenänderungen zu überwachen. Eine im Konstruktor eingerichtete Rückruffunktion wird dann jedes Mal ausgeführt, wenn sich die Größe ändert, und ermöglicht den Zugriff auf die neuen Dimensionen, sodass Sie auf diese Änderungen beliebig reagieren können.
Bietet die Möglichkeit, neue Beobachter zu registrieren und das Beobachten von Elementen zu starten und zu stoppen.
ResizeObserverEntryBeschreibt ein einzelnes Element, das in der Größe geändert wurde, wobei das Element und seine neue Größe identifiziert werden.
Sie finden ein paar einfache Beispiele in unserem GitHub-Repo:
Der Code wird normalerweise nach diesem Muster verlaufen (entnommen von resize-observer-border-radius.html):
| Resize Observer # resize-observer-interface |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.