有没有一种方法可以使用javascript获取用户设备的宽度(而不是视口宽度)?
我可以说CSS媒体查询提供了这一点
@media screen and (max-width:640px) {
/* ... */
}
和
@media screen and (max-device-width:960px) {
/* ... */
}
如果我将智能手机定位为横向模式,这将很有用。例如,在iOS max-width:640px
上,即使在iPhone 4上,声明也 将同时针对横向和纵向模式。据我所知,对于Android,情况并非如此,因此在这种情况下使用device-width成功地针对两个方向,而不定位桌面设备。
但是,如果我基于设备宽度调用javascript绑定,则似乎只能测试视口宽度,这意味着需要进行以下额外测试,
if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
考虑到设备宽度可供CSS使用的提示,这对我来说似乎并不优雅。
Modernizr
可以帮助您做到“干净而通用”:stackoverflow.com/questions/25935686/…。关于第一个评论:你可能想谷歌“的Modernizr VS <otherLib>媒体查询”,找出最适合你的使用情况