• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
邹天得
博客园    首页    新随笔    联系   管理    订阅  订阅
判断浏览器类型的方法

1.在chrome控制台上输入navigator.userAgent,结果如下:

"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"

2.在firefox控制台上输入navigator.userAgent,结果如下:

"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"

 

search方法或indexOf方法:

两者都是返回某个指定的字符串值在字符串中首次出现的位置,search方法的参数可以是正则表达式;

match方法,stringObject.match(searchvalue)或stringObject.match(regexp),如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第 0 个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index 属性声明的是匹配文本的起始字符在 stringObject 中的位置,input 属性声明的是对 stringObject 的引用。

 

常见例子:

 

// bootstrap-filestyle.js中,Check if browser is Firefox

window.navigator.userAgent.search(/firefox/i) > -1// /i表示忽略大小

 

//chrome

 window.navigator.userAgent.indexOf("Chrome") !== -1

 

//dataTables.tableTools.js中,判断是否是firefox

navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)

 

另见http://www.muzilei.com/archives/142

window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,通过这个属性来判断浏览器类型,下面是我写的一个函数,这个函数返回一个包含浏览器名称和版本的数组。

此函数可区分ie5.5~ie8、Chrome、Opera、Safair、Firefox这5种常见浏览器。

 

function browser (){

  var ua=window.navigator.userAgent,

  ret="";

  if(/Firefox/g.test(ua)){

    ua=ua.split(" ");

    ret="Firefox|"+ua[ua.length-1].split("/")[1];

  }else if(/MSIE/g.test(ua)){

    ua=ua.split(";");

    ret="IE|"+ua[1].split(" ")[2];

  }else if(/Opera/g.test(ua)){

    ua=ua.split(" ");

    ret="Opera|"+ua[ua.length-1].split("/")[1];

  }else if(/Chrome/g.test(ua)){

    ua=ua.split(" ");

    ret="Chrome|"+ua[ua.length-2].split("/")[1];

  }else if(/^apple\s+/i.test(navigator.vendor)){

    ua=ua.split(" ");

    ret="Safair|"+ua[ua.length-2].split("/")[1];

  }else{

    ret="未知浏览器";

  }

   return ret.split("|");

}

//调用函数,返回一个数组,r[0]是浏览器名称,r[1]是版本号

var r=browser();

alert(r);

posted on 2017-07-03 09:50  邹天得  阅读(556)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3