- 通过 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
