在WEB开发中,浏览器兼容问题往往弄得我们焦头烂额。这篇文章主要是通过使用JS封装一个方法来获得当前客户端的浏览器类型和浏览器版本号。大家都知道,我们往往是通过分析浏览器的uerAgent来判断,可是uerAgent属性又臭又长,我们又该如何从中抽丝剥茧,获得每个浏览器的所独有的特性呢,首先,我们来分析下各个浏览器的uerAgent字符串:(并不会写完全,只是写该字符串中比较重要的一部分)

IE(MSIE后面是版本号)

       

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)

FireFox(Firefox/后面是版本号)

Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1

Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3

Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12

Opera(Opera后面是版本号)

Opera/9.27 (Windows NT 5.2; U; zh-cn)

Opera/8.0 (Macintosh; PPC Mac OS X; U; en)

Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0

Safri(Version后面是版本号)

Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13

Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3

chrome(chrome后面是版本号)

Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

比较有趣的是,chrome的userAgent字符串中还包含了safari的特性。

下面,就可已根据以上的这些特征来构造我们的对象:

var ua=navigator.userAgent.toLowerCase();var s=null;var browser={msie:(s=ua.match(/msie/s*([/d/.]+)/))?s[1]:false,firefox:(s=ua.match(/firefox//([/d/.]+)/))?s[1]:false,chrome:(s=ua.match(/chrome//([/d/.]+)/))?s[1]:false,opera:(s=ua.match(/opera.([/d/.]+)/))?s[1]:false,safari:(s=ua.match(/varsion//([/d/.]+).*safari/))?s[1]:false};

关键字的值或者为假,或者为当前浏览器的版本号。因此我们可以通过这个对象进行浏览器的检测。

JS判断浏览器类型,获得浏览器版本号相关推荐

  1. Js判断是否在微信浏览器中打开和微信版本号

    一.判断微信版本号 var wechatInfo = navigator.userAgent.match(/MicroMessenger\\/([\\d\\.]+)/i) ; if( !wechatI ...

  2. js判断是否在微信浏览器中打开

    js判断是否在微信浏览器中打开 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/MicroM ...

  3. js判断数组类型的方法总结

    js判断数组类型的方法总结 1.使用typeof + instanceof let a = []; if (a && (typeof a === 'object') && ...

  4. JS判断国内外所有主流浏览器类型

    主要判断世界五大主流浏览器内核,其中IE浏览器可以精确到版本号(IE5-IE11,同时考虑了兼容模式),同时支持判断国内大部分套壳浏览器 function browerType() {var ua = ...

  5. js判断是否是ie浏览器且给出ie版本

    之前懒得写判断ie版本js,因为网上关于这方面的代码太多了,所以从网上拷贝了一个,放到项目上才发现由于时效性的问题,代码不生效.就自己写一个吧. 怎么去看浏览器的内核等信息 ---- js的全局对象w ...

  6. php 判断浏览器是ie,js判断是否是ie浏览器

    怎么去看浏览器的内核等信息 ---- js的全局对象window子属性navigator.userAgent,这个属性是包含了浏览器信息的相关信息,包括我们需要的浏览器内核 navigator.use ...

  7. PHP判断浏览器类型和浏览器语言(附各国语言简写代码)

    用php语言来判断浏览器类型其实很简单. 因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型.语言啦). 这里我们主要分析的是_SERVER["HTTP_USER_AG ...

  8. 使用js判断当前使用的浏览器

    针对不同的浏览器我们可能需要做不同的操作,才能满足不同客户的需要和体验,所以有时候需要 js判断当前用户使用的什么浏览器. myBrowser:function () {//取得浏览器的userAge ...

  9. js 判断是否是IE浏览器及ie版本

    方式一:只判断是否是ie浏览器 /*** 判断是否是IE浏览器,支持IE6-IE11*/ function isIE() { //ie?if (!!window.ActiveXObject || &q ...

  10. js判断是否为ie浏览器

    之前在开发时遇到浏览器的兼容性问题,涉及到对ie浏览器的判断.现在此做个笔记. 这里我以函数的形式来判断,在用的时候直接调用即可. var isIE = !!window.ActiveXObject ...

最新文章

  1. Elasticsearch 参考指南(脚本)
  2. loj6300 「CodePlus 2018 3 月赛」博弈论与概率统计
  3. 2008R2文件服务器迁移到2012R2
  4. padding和卷积的区别_池化、池化与卷积异同、zero-padding
  5. GDCM:gdcm::Dicts的测试程序
  6. 1053. 住房空置率 (20)
  7. 第十篇:Spring Boot整合mybatis+Mysql 入门试炼02
  8. Oracle GoldenGate 12c 新特性
  9. Linux node使用npm成功安装命令后,执行时却报找不到命令的问题
  10. python set集合转numpy.array
  11. atitit 项目硬件平台选型attilax总结4blg.docx
  12. eclispe file查找
  13. python爬虫刷网课答题_python实践:利用爬虫刷网课
  14. C语言自学完备手册(02)——变量的声明与定义
  15. 影音嗅探专家 v2007.1 怎么用
  16. Java开发面试必问项。标识符、字面值、变量、数据类型,该学了
  17. 申请 app store 退款
  18. Esp8266(WIFI模块)刷阿里云固件
  19. ArrayList和LinkedList的底层源码之我见
  20. stringsAsFactors=FALSE是什么意思

热门文章

  1. 海思Hi3531A芯片设备添加测试UART1-3
  2. html点击超链接怎么打开ppt,ppt怎么查看所有超链接 设置完成后可以发现刚刚设置的超链...
  3. 支柱业务游戏营收迎来复苏,英伟达顺利度过危险期?
  4. mpvue微信小程序动画_微信小程序框架之mpvue(入门教程)
  5. 5G工业智能网关行业应用
  6. 编辑Excel时,断电导致文件没保存,怎么恢复呢?
  7. pandas 筛选excel文件并保存新表
  8. 该怎么管理懒惰的员工?
  9. android高德地图设置默认显示位置
  10. KeepAlive + VIP 配置高可用 Nginx 主备集群