js判断手机端运行环境和浏览器类型

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注