Javascript 如何在移动设备和大屏幕设备之间进行分类。?

Javascript 如何在移动设备和大屏幕设备之间进行分类。?,javascript,mobile,responsive-design,media-queries,Javascript,Mobile,Responsive Design,Media Queries,我正在构建一个web应用程序,我有两套流体布局,一套用于小屏幕设备,另一套用于大屏幕。? 那么,我如何将我的基准放在这两个类别之间呢。? 我知道如何在js中使用不同的css媒体查询和设备检测技术 但是我想要一个通用的标准来区分这两个类别 例如:我有 var deviceIs = { android : agent.match(/Android/i), iPhone : agent.match(/iPhone/i), iPad : agent.match(/iP

我正在构建一个web应用程序,我有两套流体布局,一套用于小屏幕设备,另一套用于大屏幕。? 那么,我如何将我的基准放在这两个类别之间呢。? 我知道如何在js中使用不同的css媒体查询和设备检测技术

但是我想要一个通用的标准来区分这两个类别

例如:我有

var deviceIs = {
    android : agent.match(/Android/i),  
    iPhone  : agent.match(/iPhone/i),
    iPad    : agent.match(/iPad/i),
    iPod    : agent.match(/iPod/i),
    BB      : agent.match(/BlackBerry/i),
    webOS   : agent.match(/webOS/i)
};

var currentRES = {
    width : screen.width,
    height : screen.height
}
但是我想创建一个像

var screenTypeis ={

       smallScreen : function(){     
         if(i want this generalized condition){
                 return true;    
           }
          else{    
           return false;
          }    
}
}


例如,potrait上的设备宽度>480和<480&&etc

谁说什么是小屏幕,什么不是

例如,新款iPad的尺寸相当小(与普通屏幕相比),但分辨率很高,比高清标准高出100万像素


就我个人而言,我会选择CSS媒体查询,因为用户代理字符串可以很容易地被修改。

谁说什么是小屏幕,什么不是

例如,新款iPad的尺寸相当小(与普通屏幕相比),但分辨率很高,比高清标准高出100万像素


就我个人而言,我只想使用CSS媒体查询,因为用户代理字符串可以很容易地进行修改。

据我所知,您希望类似这样的内容

功能检测设备{
var userAgent=navigator.userAgent.toLowerCase(),
platform=navigator.platform.toLowerCase();
若有(s){
if(userAgent.match(s.toLowerCase())!=null)
返回true;
返回false;
}
this.isSmall=函数(){

如果(screen.width据我所知,您想要

功能检测设备{
var userAgent=navigator.userAgent.toLowerCase(),
platform=navigator.platform.toLowerCase();
若有(s){
if(userAgent.match(s.toLowerCase())!=null)
返回true;
返回false;
}
this.isSmall=函数(){

如果(screen.width基本上,你不能。知道这一点的唯一方法是以某种方式获取DPI设置,并将分辨率除以它。但是,javascript无法访问DPI。有关详细信息,请参阅此问题:

基本上,你不能。知道这一点的唯一方法是以某种方式获取DPI设置,并将分辨率除以它。Howe无论如何,javascript无法访问DPI。有关详细信息,请参阅此问题:

好的,我发现的是这样的

 var screenType = {
        isMobileScreen: function () {
            if (deviceIs.iPhone || deviceIs.iPod || deviceIs.BB || deviceIs.webOS || deviceIs.mobile || (currentRES.width <= 480 && currentRES.height <= 720)) {
                return true;
            }
            return false;
        }
    };

好吧,我觉得是这样的

 var screenType = {
        isMobileScreen: function () {
            if (deviceIs.iPhone || deviceIs.iPod || deviceIs.BB || deviceIs.webOS || deviceIs.mobile || (currentRES.width <= 480 && currentRES.height <= 720)) {
                return true;
            }
            return false;
        }
    };

为什么
if
s在
screen.height
screen.width
上下颠簸的声音不够?不,这还不够。但是iPhone 4s的分辨率是前一代的两倍。所以我想要这两种声音的组合。为什么
if
s在
screen.height
screen.width
上下颠簸的声音不够?不它不是..但iPhone 4s的重新分辨率是以前的两倍。所以我想要这两个的组合条件。ys媒体查询是一个不错的选择,但我可以正确选择多少。我需要将其分为两类,所以tht是否有任何标记?这取决于你。你可以在任何地方设置点。比如说,你认为640px很小,那么你就可以小屏幕使用
@media(最大宽度:640px){…}
,大屏幕使用
@media(最小宽度:641px){…}
。当然,您可以对其进行增强并确定方向(横向/纵向)考虑在内。你可以添加多个限制。ys媒体查询是一个不错的选择,但我能正确查询多少项。?我需要将其分为两类,所以tht是否有任何标记。?这取决于你。你可以在任何地方设置点。比如,你认为640px很小,那么你可以使用
@media(最大宽度:640px){…}
用于小屏幕,而
@媒体(最小宽度:641px){…}
用于大屏幕。当然,您可以增强这一点,并考虑方向(横向/纵向)。您可以添加多个限制。
 var deviceIs = {
        mobile: agent.match(/Android; Mobile|opera mini|opera mobi|skyfire|maemo|windows phone|palm|iemobile|symbian|symbianos|fennec/i),
        iPhone: agent.match(/iPhone/i),
        iPad: agent.match(/ipad/i),
        tab: agent.match(/ipad|android 3|gt-p7500|sch-i800|playbook|tablet|kindle|gt-p1000|sgh-t849|shw-m180s|a510|a511|a100|dell streak|silk/i),
        iPod: agent.match(/iPod/i),
        BB: agent.match(/BlackBerry/i),
        webOS: agent.match(/webOS/i)
    };