js检测浏览器版本、核心、是否移动端示例

  检测浏览器版本、核心、系统和是否移动端

  

复制代码 代码如下:

  /**

  * check browser version

  * @authors K

  * @date    2014-04-11 14:48:39

  * @version 1

  */

  /**

  * detect browser info with navigator userAgent

  * @return object browser info

  */

  var browser = (function(){

  var userAgent = navigator.userAgent,

  ua = userAgent.toLowerCase(),

  browserList = {

  msie : /(?:msie\s|trident.*rv:)([\w.]+)/i,

  firefox : /Firefox\/([\w.]+)/i,

  chrome : /Chrome\/([\w.]+)/i,

  safari : /version\/([\w.]+).*Safari/i,

  opera : /(?:OPR\/|Opera.+version\/)([\w.]+)/i

  },

  kernels = {

  MSIE: /(compatible;\smsie\s|Trident\/)[\w.]+/i,

  Camino: /Camino/i,

  KHTML: /KHTML/i,

  Presto: /Presto\/[\w.]+/i,

  Gecko : /Gecko\/[\w.]+/i,

  WebKit: /AppleWebKit\/[\w.]+/i

  },

  browser = {

  kernel : 'unknow',

  version : 'unknow'

  }

  // 检测浏览器

  for(var i in browserList){

  var matchs = ua.match(browserList[i]);

  browser[i] = matchs ? true : false;

  if(matchs){

  browser.version = matchs[1];

  }

  }

  // 检测引擎

  for(var i in kernels){

  var matchs = ua.match(kernels[i]);

  if(matchs){

  browser.kernel = matchs[0];

  }

  }

  // 系统

  var os = ua.match(/(Windows\sNT\s|Mac\sOS\sX\s|Android\s|ipad.*\sos\s|iphone\sos\s)([\d._-]+)/i);

  browser.os = os!==null ? os[0] : false;

  // 是否移动端

  browser.mobile = ua.match(/Mobile/i)!==null ? true : false;

  return browser;

  }());