Apakah ada cara untuk mendapatkan lebar perangkat pengguna, sebagai lawan dari lebar area pandang, menggunakan javascript?
Kueri media CSS menawarkan ini, seperti yang bisa saya katakan
@media screen and (max-width:640px) {
/* ... */
}
dan
@media screen and (max-device-width:960px) {
/* ... */
}
Ini berguna jika saya menargetkan ponsel cerdas dalam orientasi lanskap. Misalnya, di iOS, deklarasi max-width:640px
akan menargetkan mode lanskap dan potret, bahkan pada iPhone 4. Sejauh yang saya tahu, ini tidak terjadi pada Android, jadi menggunakan lebar perangkat dalam hal ini berhasil menargetkan kedua orientasi, tanpa menargetkan perangkat desktop.
Namun , jika saya menjalankan pengikatan javascript berdasarkan lebar perangkat, saya tampaknya dibatasi untuk menguji lebar area pandang, yang berarti tes tambahan seperti berikut ini,
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
Ini tidak tampak elegan bagi saya, mengingat petunjuk bahwa lebar perangkat tersedia untuk css.
Modernizr
dapat membantu Anda melakukan ini "dengan cara yang bersih & umum": stackoverflow.com/questions/25935686/… . Mengenai komentar pertama: Anda mungkin ingin google "Modernizr vs <otherLib> media query" untuk mencari tahu apa yang terbaik untuk kasus penggunaan Anda