Javascript 如何在移动设备和大屏幕设备之间进行分类。?
我正在构建一个web应用程序,我有两套流体布局,一套用于小屏幕设备,另一套用于大屏幕。? 那么,我如何将我的基准放在这两个类别之间呢。? 我知道如何在js中使用不同的css媒体查询和设备检测技术 但是我想要一个通用的标准来区分这两个类别 例如:我有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
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)
};