In this video tutorial I’ll be showing you how to use the matchMedia() function in JavaScript - which can be used to detect web browser screen sizes and OS dark or light mode.

The Window interface’s matchMedia() method returns a new MediaQueryList object representing the parsed results of the specified media query string. The returned MediaQueryList can then be used to determine if the Document matches the media query, or to monitor a document to detect when it matches or stops matching the media query.

Syntax

mqList = window.matchMedia(mediaQueryString)

Usage notes

You can use the returned media query to perform both instantanteous and event-driven checks to see if the document matches the media query.

To perform a one-time, instantaneous check to see if the document matches the media query, look at the value of the matches property, which will be true if the document meets the media query’s requirements.

If you need to be kept aware of whether or not the document matches the media query at all times, you can instead watch for the change event to be delivered to the object. There’s a good example of this in the article on Window.devicePixelRatio.

Examples

This example runs the media query (max-width: 600px) and displays the value of the resulting MediaQueryList’s matches property in a <span>; as a result, the output will say “true” if the viewport is less than or equal to 600 pixels wide, and will say “false” if the window is wider than that.

let mql = window.matchMedia('(max-width: 600px)');

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

The JavaScript code simply passes the media query to match into matchMedia() to compile it, then sets the <span>‘s innerText to the value of the results’ matches property, so that it indicates whether or not the document matches the media query at the moment the page was loaded.

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

A simple <span> to receive the output.

False

For your reference, check this out:
https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia

#javascript #webdev

Detecting Screen Size and OS Dark Mode with matchMedia() in JavaScript
11.80 GEEK