js获取浏览器内核

时间:2024-04-16 16:45:19

<script language="JavaScript" type="text/javascript"> var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexOf(\'Trident\') > -1, //IE内核 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.*/) || !!u.match(/AppleWebKit/), //是否为移动终端 ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 android: u.indexOf(\'Android\') > -1 || u.indexOf(\'Linux\') > -1, //android终端或者uc浏览器 iPhone: u.indexOf(\'iPhone\') > -1 || u.indexOf(\'Mac\') > -1, //是否为iPhone或者QQHD浏览器 iPad: u.indexOf(\'iPad\') > -1, //是否iPad webApp: u.indexOf(\'Safari\') == -1 //是否web应该程序,没有头部与底部 }; } (), language: (navigator.browserLanguage || navigator.language).toLowerCase() } document.writeln("语言版本: " + browser.language); document.writeln(" 是否为移动终端: " + browser.versions.mobile); document.writeln(" ios终端: " + browser.versions.ios); document.writeln(" android终端: " + browser.versions.android); document.writeln(" 是否为iPhone: " + browser.versions.iPhone); document.writeln(" 是否iPad: " + browser.versions.iPad); document.writeln(navigator.userAgent); </script>
//另一种:
//实现函数如下所示
function getBrowser(n) {
  var ua = navigator.userAgent.toLowerCase(),
      s,
      name = \'\',
      ver = 0;
  //探测浏览器
  (s = ua.match(/msie ([\d.]+)/)) ? _set("ie", _toFixedVersion(s[1])):
  (s = ua.match(/firefox\/([\d.]+)/)) ? _set("firefox", _toFixedVersion(s[1])) :
  (s = ua.match(/chrome\/([\d.]+)/)) ? _set("chrome", _toFixedVersion(s[1])) :
  (s = ua.match(/opera.([\d.]+)/)) ? _set("opera", _toFixedVersion(s[1])) :
  (s = ua.match(/version\/([\d.]+).*safari/)) ? _set("safari", _toFixedVersion(s[1])) : 0;

  function _toFixedVersion(ver, floatLength) {
    ver = (\'\' + ver).replace(/_/g, \'.\');
    floatLength = floatLength || 1;
    ver = String(ver).split(\'.\');
    ver = ver[0] + \'.\' + (ver[1] || \'0\');
    ver = Number(ver).toFixed(floatLength);
    return ver;
  }
  function _set(bname, bver) {
    name = bname;
    ver = bver;
  }
  return (n == \'n\' ? name : (n == \'v\' ? ver : name + ver));
};

 调用时,var neihe = getBrowser("n");  所获得的就是浏览器所用内核。
 调用时  var banben = getBrowser("v"); 所获得的就是浏览器的版本号。
 调用时  var browser = getBrowser(); 所获得的就是浏览器内核加版本号。