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

前端技术 2023/09/10 JavaScript

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

复制代码 代码如下:

/**
 * 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;
}());

本文地址:https://www.stayed.cn/item/26347

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。