Existe uma maneira de obter a largura do dispositivo dos usuários, em oposição à largura da porta de visualização, usando javascript?
As consultas de mídia CSS oferecem isso, como posso dizer
@media screen and (max-width:640px) {
/* ... */
}
e
@media screen and (max-device-width:960px) {
/* ... */
}
Isso é útil se eu estiver segmentando smartphones na orientação paisagem. Por exemplo, no iOS, uma declaração de max-width:640px
segmentará os modos paisagem e retrato, mesmo em um iPhone 4. Esse não é o caso do Android, pelo que sei, portanto, usar a largura do dispositivo nessa instância visa com êxito ambas as orientações, sem segmentar dispositivos de desktop.
No entanto , se estou chamando uma ligação javascript com base na largura do dispositivo, pareço estar limitado a testar a largura da janela de visualização, o que significa um teste extra, como a seguir,
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
Isso não me parece elegante, dada a dica de que a largura do dispositivo está disponível para css.
Modernizr
pode ajudá-lo a fazer isso "da maneira limpa e genérica": stackoverflow.com/questions/25935686/… . Em relação ao 1º comentário: você pode querer google "Modernizr vs <otherLib> consulta de mídia" para descobrir o que funciona melhor para o seu caso de uso