¿Hay alguna manera de obtener el ancho del dispositivo de los usuarios, en lugar del ancho de la ventana gráfica, usando JavaScript?
Las consultas de medios CSS ofrecen esto, como puedo decir
@media screen and (max-width:640px) {
/* ... */
}
y
@media screen and (max-device-width:960px) {
/* ... */
}
Esto es útil si estoy apuntando a teléfonos inteligentes en orientación horizontal. Por ejemplo, en iOS, una declaración de max-width:640px
apuntará a los modos horizontal y vertical, incluso en un iPhone 4. Este no es el caso para Android, por lo que puedo decir, por lo que el uso del ancho del dispositivo en este caso apunta con éxito a ambas orientaciones, sin apuntar a dispositivos de escritorio.
Sin embargo , si invoco un enlace de JavaScript basado en el ancho del dispositivo, parece que estoy limitado a probar el ancho de la ventana gráfica, lo que significa una prueba adicional como en el siguiente,
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
Esto no me parece elegante, dado el indicio de que el ancho del dispositivo está disponible para css.
Modernizr
puede ayudarlo a hacer esto "de manera limpia y genérica": stackoverflow.com/questions/25935686/… . Con respecto al primer comentario: es posible que desee buscar en Google "Modernizr vs <otherLib> media query" para averiguar qué funciona mejor para su caso de uso