JavaScript根据CSS的Media Queries来判断浏览设备的方法
CSS 部分
首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值。这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗口,让浏览者不可见以免引起意外情况。
作为演示,下面代码设置了四种设备状态:桌面普通版、小屏幕桌面版、平板电脑版和手机版。
JavaScript 判断
CSS 已经就位了,那么就需要用 JavaScript 来生成了一个临时的 DOM 对象,然后为它设置对应的类,然后再读取这个对象的 z-index 值。原生的写法如下:
这样,就可以用一下代码来判断设备状态,然后执行相应的 JavaScript 代码:
这里如果你使用的是 jQuery,直接使用下面代码就可以了:
$(function(){
$('body').append('<div class="state-indicator"></div>');
function getDeviceState() {
switch(parseInt($('.state-indicator').css('z-index'),10)) {
case 2:
return 'small-desktop';
break;
case 3:
return 'tablet';
break;
case 4:
return 'phone';
break;
default:
return 'desktop';
break;
}
}
console.log(getDeviceState());
$('.state-indicator').remove();
});

浙公网安备 33010602011771号