- 通过 window.navigator.userAgent,取其特征字符串来识别
//判断浏览器和版本号。 function browser() { var u = navigator.userAgent.toLowerCase(); //获取用户使用的是么浏览器并转换为小写。 var app = navigator.appVersion.toLowerCase(); //获取到浏览器的版本和平台信息。 //相当于白名单,可以的浏览器写到里面,下面调用判断的时候返回true则可以,否则白名单里面不存在此浏览器,提醒去Safari里面下载。 return { txt: u, // 浏览器版本信息 version: (u.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], // 版本号 msie: /msie/.test(u) && !/opera/.test(u), // IE内核 mozilla: /mozilla/.test(u) && !/(compatible|webkit)/.test(u), // 火狐浏览器 safari: /safari/.test(u) && !/chrome/.test(u) && !/mqqbrowser/.test(u), //是否为safair is_mobileQQ: u.match(/\sQQ/i) == " qq" && /iphone/i.test(u),//手机QQ is_weixin: u.match(/MicroMessenger/i) == "micromessenger",//微信 chrome: /chrome/.test(u), //是否为chrome opera: /opera/.test(u), //是否为oprea baidu: /baiduboxapp/.test(u),//是否为百度 qqbrowser: /mqqbrowser/.test(u),//是否为qq浏览器 uc: /ucbrowser/.test(u),//是否为uc浏览器 sougou: /sougoumobilebrowser/.test(u),//是否为搜狗浏览器 gaosu: /fingerbrowser/.test(u),//是否为高速浏览器 presto: u.indexOf('presto/') > -1, //opera内核 webKit: u.indexOf('applewebkit/') > -1, //苹果、谷歌内核 gecko: u.indexOf('gecko/') > -1 && u.indexOf('khtml') == -1, //火狐内核 mobile: !!u.match(/applewebkit.*mobile.*/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( u;)? cpu.+mac os x/), //ios终端 android: u.indexOf('android') > -1, //android终端 iPhone: u.indexOf('iphone') > -1, //是否为iPhone iPod: u.indexOf('ipod') > -1, //是否为iPod iPad: u.indexOf('ipad') > -1, //是否iPad webApp: !!u.match(/applewebkit.*mobile.*/) && u.indexOf('safari/') == -1 //是否web应该程序,没有头部与底部 }; }
判断安卓
var nua = navigator.userAgent; var isAndroid = (nua.indexOf('Mozilla/5.0') > -1 && nua.indexOf('Android ') > -1 && nua.indexOf('AppleWebKit') > -1 && nua.indexOf('Chrome') === -1) if (isAndroid) { /*安卓执行代码*/ }
判断IOS版本
function getIosVer() { var u = navigator.userAgent.toLowerCase(); var version; if (u.indexOf("like mac os x") > 0) { //ios var regStr_saf = /os [\d._]*/gi; var verinfo = u.match(regStr_saf); console.log(verinfo); version = (verinfo + "").replace(/[^0-9|_.]/ig, "").replace(/_/ig, "."); console.log(version); } var version_str = version + ""; var regVer = /(\d+)\.?/; version = regVer.exec(version_str)[1]; return version; }
- 通过 navigator.appName 和 navigator.appVersion 判断 IE 浏览器为 IE7
navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion .split(";")[1].replace(/[ ]/g,"")=="MSIE7.0" 或 navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/7./i)=="7."
- jquery语法:
jQuery.support.boxModel
1.9之后移除了,推荐使用modernizr
jQuery.browser jQuery.browser.version
1.9之后替代方案:jQuery Migrate