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

(0)

相关推荐

  • javascript 检测浏览器类型和版本的代码

    检测浏览器及其版本的代码 复制代码 代码如下: getBrowser : function(){ var browser = { msie: false, firefox: false, opera: false, safari: false, chrome: false, netscape: false, appname: 'unknown', version: 0 }, userAgent = window.navigator.userAgent.toLowerCase(); if ( /(

  • javascript 特性检测并非浏览器检测

    我大致翻译了部分文章,可能有理解错误的地方,敬请指正.值得一提的是,评论部分的争论亦值得一看. 特性检测 起初前端工程师们就极力反对浏览器检测,他们认为类似user-agent嗅探的方法是很不好的,理由是它并不是一种面向未来的代码,无法适应新版的浏览器.更好的做法是使用特性检测,就像这样: 复制代码 代码如下: if (navigator.userAgent.indexOf("MSIE 7") > -1){ //do something } 而更好的做法是这样: 复制代码 代码如

  • JavaScript 检测浏览器和操作系统的脚本

    Web编程中,识别用户的浏览器以及操作系统非常重要.因为它们对HTML和JavaScript的支持程度有所不同.一般应用在系统登陆页面或者首页中. 具体应用如下: 复制代码 代码如下: <html> <head> <title>Login</title> <script type="text/javascript" src="detect.js"></script> <script typ

  • javascript检测浏览器的缩放状态实现代码

    这里所说的缩放不是指浏览器大小的缩放,而是指浏览器网页内容的百分比缩放(按Ctrl和+号键或者-号键的缩放). 检测这种缩放有很种方法,QQ空间都通过flash来检测浏览器是否处于缩放.这里提供javascript的方法来检测浏览器的缩放. 对于 IE6,就直接无视了,因为 IE6 只能对文本进行缩放. 先来说说浏览器提供的标准检测接口,window.devicePixelRatio 是设备上物理像素和设备独立像素的比例,该属性就可以用于检测网页是否被缩放了.在普通的 PC 浏览器上,在默认无缩

  • 使用JavaScript检测Firefox浏览器是否启用了Firebug的代码

    在启用了firebug面板后,会增加一个window.console对象及window.console.firebug变量用于保存当前firebug的当前版本,当关闭firebug面板后则变回正常,于是我们可以通过判断其是否存在来检测是否开启了firebug. 复制代码 代码如下: Boolean(window.console && window.console.firebug) 于是,为了方便在没有启用firebug的情况下避免脚本错误,可以在脚本最前面加入以下语句手工创建空的conso

  • 用js实现的检测浏览器和系统的函数

    复制代码 代码如下: var sUserAgent = navigator.userAgent; var fAppVersion = parseFloat(navigator.appVersion); function compareVersions(sVersion1, sVersion2) { var aVersion1 = sVersion1.split("."); var aVersion2 = sVersion2.split("."); if (aVers

  • 利用JavaScript判断浏览器类型及版本

    本文将介绍如何使用Javascript来检测浏览器的类型以及版本号,包括猎豹浏览器.搜狗浏览器.傲游浏览器.360极速浏览器.360安全浏览器.QQ浏览器.百度浏览器.IE,Firefox,Chrome,safari,Opera等. 效果图 实例代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF

  • 使用js检测浏览器是否支持html5中的video标签的方法

    复制代码 代码如下: //检测是否支持HTML5function checkVideo() {    if (!!document.createElement('video').canPlayType) {        var vidTest = document.createElement("video");        oggTest = vidTest.canPlayType('video/ogg; codecs="theora, vorbis"');  

  • JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js

    检测浏览器的方式 1.对象特征检测法:判断浏览器能力的通用方法.如果更关注浏览器的能力而不在乎它的实际身份,就可以使用这种检测方法.常见的原生Ajax写法中就用这种方法来创建XMLHttpRequest: 复制代码 代码如下: IXHR: function(){ if(window.ActiveXObject){ XHR=new ActiveXObject('Microsoft.XMLHTTP'); }else if(window.XMLHttpRequest){ XHR=new XMLHttp

  • JavaScript快速检测浏览器对CSS3特性的支持情况

    在项目中需要快速检测浏览器是否支持某CSS3特性,比如检测是否支持"transform",然后我的布局会有两种完全不同的版式. 当然除开本文介绍的这种快速方法,还有一种更有名和更通用的方法,那就是modernizr,运行脚本之后它会在html的class上加上浏览器支持的所有特性的列表. 优点: js是可配置的,不需要的特性检测可以在配置脚本中去掉基于特性检测js库简单好用 除此之外还有一种不太好的方法,那就是判断浏览器的UA,不好的原因是UA可能会伪造,而且版本判断繁琐,还有不稳定.

随机推荐