Есть ли способ получить ширину пользовательского устройства, а не ширину видового экрана, используя javascript?
CSS-запросы СМИ предлагают это, как я могу сказать
@media screen and (max-width:640px) {
/* ... */
}
и
@media screen and (max-device-width:960px) {
/* ... */
}
Это полезно, если я ориентирую смартфоны в альбомной ориентации. Например, в iOS декларация max-width:640px
будет нацелена как на ландшафтный, так и на портретный режимы даже на iPhone 4. Это не так для Android, насколько я могу судить, поэтому использование ширины устройства в этом случае успешно нацелено обе ориентации, без таргетинга на настольные устройства.
Однако, если я вызываю привязку javascript на основе ширины устройства, я, по-видимому, ограничен тестированием ширины видового экрана, что означает дополнительный тест, как в следующем,
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
Это не кажется мне элегантным, учитывая подсказку, что ширина устройства доступна для css.