decice.js的github地址
device.js是一个可以用来检测设备的平台、操作系统和方向的JavaScript库。device.js 通过操作系统(比如 iOS,安卓,黑莓,Windows,Firefox OX),方向(横屏或者竖屏),类型(平板或者移动设备),来为设备添加 CSS Class
,并且它还提供了一些Javascript 函数用来判断设备。
比如在PC端打开引入了device.js的 html 页面时会在<html>标签里添加"desktop landscape
"的class。
device支持的设备
iOS: iPhone, iPod, iPad
Android: Phones & Tablets
Blackberry: Phones & Tablets
Windows: Phones & Tablets
Firefox OS: Phones & Tablets
device.js的使用
直接在html页面的头部引入即可使用:
<script type="text/javascript" src="device.js"></script>
根据设备的不同生成的CSS
**Device** **CSS Classes** iPhone ios iphone mobile iPod ios ipod mobile Android Phone android mobile Android Tablet android tablet BlackBerry Phone blackberry mobile BlackBerry Tablet blackberry tablet Windows Phone windows mobile Windows Tablet windows tablet Firefox OS Phone fxos mobile Firefox OS Tablet fxos tablet MeeGo meego Desktop desktop Television television
根据方向的不同生成的CSS
**Orientation** **CSS Classes** Landscape landscape Portrait portrait
相关的JavaScript方法
**Device** **JavaScript Method** Mobile device.mobile() Tablet device.tablet() Desktop device.desktop() iOS device.ios() iPad device.ipad() iPhone device.iphone() iPod device.ipod() Android device.android() Android Phone device.androidPhone() Android Tablet device.androidTablet() BlackBerry device.blackberry() BlackBerry Phone device.blackberryPhone() BlackBerry Tablet device.blackberryTablet() Windows device.windows() Windows Phone device.windowsPhone() Windows Tablet device.windowsTablet() Firefox OS device.fxos() Firefox OS Phone device.fxosPhone() Firefox OS Tablet device.fxosTablet() MeeGo device.meego() Television device.television()
**Orientation** **JavaScript Method** Landscape device.landscape() Portrait device.portrait()
通常情况下,我们为了使页面在不同分辨率的设备上展示出不同的效果,会使用CSS3
的 @media
属性来实现,但如果我们想在 PC端和 mobile端展示两个不同的页面,使用device.js 就会方便很多,首先用它来检测设备,然后再在不同的设备上打开不同的页面。
假设有个项目,我们想让它在手机上打开的页面为 m.html,在电脑上打开的页面为 desk.html,这个时候我们就可以用device.js来实现,代码如下:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>device.js的使用</title> <script type="text/javascript" src="device.js"></script> </head> <body> <script type="text/javascript"> var isMobile = device.mobile(), isTable = device.tablet(); if(isMobile || isTable){ window.open("m.html","_self"); //如果终端是手机或者平板,就打开m.html } else{ window.open("desk.html","_self"); //否则打开desk.html } </script> </body> </html>