js 设备判断(移动端pc端 安卓ios 微信)
苹果安卓判断
1 $(function () { 2 var u = navigator.userAgent, app = navigator.appVersion; 3 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g 4 var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 5 if (isAndroid) { 6 alert("安卓机!") 7 } 8 if (isIOS) { 9 alert("苹果果机!") 10 } 11 });
移动端pc端判断
1 if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) { 2 window.location.href = "https://www.baidu.com/"; 3 } else { 4 window.location.href = "http://news.baidu.com/"; 5 }
判断是否在微信中打开
function isWeiXin(){ var ua = navigator.userAgent.toLowerCase(); if(ua.indexOf('micromessenger') != -1) { return true; } else { return false; } }
判断当前设备类型(综合)
1 /* 当前设备浏览器版本信息 */ 2 var browser = { 3 versions: function() { 4 var u = navigator.userAgent, app = navigator.appVersion; 5 return {//移动终端浏览器版本信息 6 trident: u.indexOf('Trident') > -1, //IE内核 7 presto: u.indexOf('Presto') > -1, //Opera内核 8 webKit: u.indexOf('AppleWebKit') > -1, //苹果/谷歌内核 9 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 10 mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端 11 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //iOS终端 12 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //Android终端或者UC浏览器 13 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 14 iPad: u.indexOf('iPad') > -1, //是否iPad 15 webApp: u.indexOf('Safari') == -1 //是否Web应该程序,没有头部与底部 16 }; 17 }(), 18 language: (navigator.browserLanguage || navigator.language).toLowerCase() 19 } 20 21 //根据设备的不同,可以做一些事情。 22 if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) { 23 //window.location="http://localhost/index.html"; 24 } 25 else if (browser.versions.android) { 26 //window.location="http://localhost/demo.php"; 27 } 28 29 document.writeln("语言版本: " + browser.language + "<br/>"); 30 document.writeln("是否为移动终端: " + browser.versions.mobile + "<br/>"); 31 document.writeln("iOS终端: " + browser.versions.ios + "<br/>"); 32 document.writeln("Android终端: " + browser.versions.android + "<br/>"); 33 document.writeln("是否为iPhone: " + browser.versions.iPhone + "<br/>"); 34 document.writeln("是否iPad: " + browser.versions.iPad + "<br/>"); 35 document.writeln("用户代理: " + navigator.userAgent + "<br/>"); 36 // 用户代理是一种对数据打包/创造分组头,以及编址/传递消息的部件. 37 38 作者:andyhdchoice 39 链接:https://www.jianshu.com/p/c647551caf5e 40 來源:简书 41 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
输出
是否为移动终端: false iOS终端: false Android终端: false 是否为iPhone: false 是否iPad: false 用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C) 作者:andyhdchoice 链接:https://www.jianshu.com/p/c647551caf5e 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。