--- title: MediaQueryList slug: Web/API/MediaQueryList tags: - API - CSSOM Vista - CompatibilidadDeNavegadores - Interface - MediaQueryList - Refetencia translation_of: Web/API/MediaQueryList ---
Un objeto MediaQueryList
almacena información en un media query aplicada a un documento y se encarga de enviar notificaciones a los oyentes cuando cambia el estado de consulta de medios (es decir, cuando la prueba de consulta de medios comienza o deja de evaluarse a true
).
Esto hace posible observar un documento para detectar cuando sus consultas de medios cambian, en lugar de sondear los valores periódicamente y le permite programar cambios en un documento basado en el estado de consulta de medios.
La nueva versión de la interfaz de MediaQueryList
hereda las propiedades de su interfaz principal, {{domxref("EventTarget")}}.
true
si elfalse
si no.MediaListQuery
en navegadores antiguos, para propósitos de compatibilidad con versiones anteriores.La nueva versión de la interfaz de MediaQueryList
hereda métodos de su interfaz principal, {{domxref("EventTarget")}}.
MediaQueryListener
que ejecutará una función de devolución de llamada personalizada en respuesta al cambio de estado de consulta de medios. Esto es básicamente un alias para {{domxref("EventTarget.addEventListener()")}}, para propósitos de compatibilidad con versiones anteriores. MediaQueryListener
. Esto es básicamente un alias para {{domxref ("EventTarget.removeEventListener ()")}}, para propósitos de compatibilidad con versiones anteriores.Este ejemplo sencillo crea una MediaQueryList
y, a continuación, establece un detector para detectar cuándo cambia el estado de la consulta de medios, ejecutando una función personalizada cuando cambia la apariencia de la página.
var para = document.querySelector('p'); var mql = window.matchMedia('(max-width: 600px)'); function screenTest(e) { if (e.matches) { /* el ventana tiene 600 píxeles de ancho o menos*/ para.textContent = 'This is a narrow screen — less than 600px wide.'; document.body.style.backgroundColor = 'red'; } else { /* la ventana tiene más de 600 píxeles de ancho */ para.textContent = 'This is a wide screen — more than 600px wide.'; document.body.style.backgroundColor = 'blue'; } } mql.addListener(screenTest);
Nota: Puedes encontrar este ejemplo en GitHub (ver el codigo fuente, y también verlo en ejecución).
Especificaciones | Estado | Comentario |
---|---|---|
{{SpecName("CSSOM View", "#the-mediaquerylist-interface", "MediaQueryList")}} | {{Spec2("CSSOM View")}} | Initial definition |
{{CompatibilityTable}}
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 9 | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("6.0")}} | 10 | 12.1 | 5 |
New version spec update | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatGeckoDesktop("55")}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatUnknown}} |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} | {{CompatUnknown}} |
New version spec update | {{CompatNo}} | {{CompatUnknown}} | {{CompatGeckoMobile("55")}} | {{CompatNo}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} |