您的位置:首页 > 移动开发 > Android开发

Javascript 识别iPhone、Android移动手机

2016-08-25 11:04 417 查看
原理:通过 navigator.userAgent 中包含的关键字进行正则表达式判断

var u = navigator.userAgent;
var isIphone =  u.indexOf('iPhone') > -1;
var isPad = u.indexOf('iPad') > -1;
var isAndroid = u.indexOf('Android') > -1;


然后通过判断进行网页加载

$(document).ready(function () {
try{
if ( isIphone || isAndroid) {
window.location.href="mobile.html";
}else if (isPad) {
window.location.href="pad.html";
}else {
window.location.href="other.html";
}
}catch(e){}
});


各平台userAgent信息,仅供参考:

iPhone :   Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25

iPad:  Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25

Android: Mozilla/5.0 (Linux;Android 4.1.1; Nexus 7 Build/JRO03S) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166
Safari/535.19

补充:

目前已经有开源的userAgent解析项目《ua-parser.min.js》。下面我们使用ua-parser.min.js进行实现

链接地址:http://www.bootcdn.cn/UAParser.js/

</pre><pre name="code" class="html">
var parser = new UAParser();
parser.setUA($_('ua_code').value);
r = parser.getResult();

var mBrowserVersion = r.browser.name + ' ' + r.browser.major;   //浏览器名称及主版本号
var mBrowserVerboseVersion = r.browser.version; //浏览器名详细版本号
var mEngineVersion = r.engine.name + ' ' + r.engine.version; //内核名称及版本号
var mOSVersion = r.os.name + ' ' + r.os.version; //操作系统名称及版本号
var mCPU = r.cpu.architecture; //CPU信息
var mDeviceInfo = r.device.model + ' ' + r.device.type + ' ' + r.device.vendor; //设备信息:设备型号、设备类型、设备厂商
var mScreenInfo = screen.width + 'px X ' + screen.height + 'px'; //屏幕分辨率,该信息与ua-parser无关




使用红米Note 1S测试,结果如下,仅供参考

浏览器UCBrowser 11
版本11.0.4.846
内核WebKit 534.30
操作系统             Android 4.4.4
CPUundefined
设备HM NOTE 1S mobile Xiaomi
分辨率720px × 1280px
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript