Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Window: matchMedia() Methode

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.

Die matchMedia() Methode des Window-Interfaces gibt ein neues MediaQueryList-Objekt zurück, das anschließend verwendet werden kann, um festzustellen, ob das document der Media Query-Zeichenfolge entspricht. Zudem kann das Dokument überwacht werden, um zu erkennen, wann es dieser Media Query entspricht (oder nicht mehr entspricht).

Syntax

js
matchMedia(mediaQueryString)

Parameter

mediaQueryString

Ein String, der die Media Query angibt, die in ein MediaQueryList-Objekt geparst werden soll.

Genau wie in CSS muss jede Media Feature in Klammern innerhalb des Ausdrucks eingeschlossen sein. Zum Beispiel: matchMedia("(width <= 600px)") oder matchMedia("(orientation: landscape)") sind korrekt, während matchMedia("width < 600px") oder matchMedia("orientation: landscape") nicht funktionieren. Schlüsselwörter für Medientypen (all, print, screen) und logische Operatoren (and, or, not, only) müssen nicht in Klammern eingeschlossen werden.

Rückgabewert

Ein neues MediaQueryList-Objekt für die Media Query. Nutzen Sie die Eigenschaften und Ereignisse dieses Objekts, um Übereinstimmungen zu erkennen und die Änderungen dieser Übereinstimmungen über die Zeit zu überwachen.

Verwendungshinweise

Sie können die zurückgegebene Media Query sowohl für sofortige als auch für ereignisgesteuerte Überprüfungen verwenden, um festzustellen, ob das Dokument der Media Query entspricht.

Um eine einmalige, sofortige Überprüfung durchzuführen, ob das Dokument der Media Query entspricht, schauen Sie sich den Wert der matches-Eigenschaft an, der true ist, wenn das Dokument die Anforderungen der Media Query erfüllt.

Wenn Sie ständig informiert werden möchten, ob das Dokument der Media Query entspricht oder nicht, können Sie statt dessen das change-Ereignis beobachten, das an das Objekt übermittelt wird. Im Artikel zu Window.devicePixelRatio gibt es ein gutes Beispiel hierfür.

Beispiele

Dieses Beispiel führt die Media Query (width <= 600px) durch und zeigt den Wert der matches-Eigenschaft des resultierenden MediaQueryList in einem <span> an. Dadurch wird die Ausgabe "true" anzeigen, wenn das Viewport kleiner oder gleich 600 Pixel breit ist, und "false" zeigen, wenn das Fenster breiter ist.

JavaScript

js
let mql = window.matchMedia("(width <= 600px)");

document.querySelector(".mq-value").innerText = mql.matches;

Der JavaScript-Code übergibt die zu vergleichende Media Query an matchMedia() zur Kompilierung und setzt dann den innerText des <span> auf den Wert der matches-Eigenschaft des Ergebnisses, so dass angezeigt wird, ob das Dokument der Media Query entspricht, zu dem Zeitpunkt, als die Seite geladen wurde.

HTML

html
<span class="mq-value"></span>

Ein einfaches <span>, um die Ausgabe zu erhalten.

Ergebnis

Sehen Sie Testen von Media Queries programmatisch für zusätzliche Codebeispiele.

Spezifikationen

Spezifikation
CSSOM View Module
# dom-window-matchmedia

Browser-Kompatibilität

Siehe auch