javascript 学习笔记(六)浏览器类型及版本信息检测代码


Posted in Javascript onApril 08, 2011

下面的checkBrowser()函数主要检测了三种浏览器(IE, firefox, chrome),其它的浏览器的检测有兴趣的朋友可以自行添加检测代码!
HTML部分代码: (页面加载时执行检测函数)

<body onload="checkBrowser()"> 
<p id="userAgent"></p> 
<p id="browser"></p> 
</body>

javascript部分代码:
检测的原理主要根据 浏览器的用户代理报头nanigator.userAgent中提取到浏览器和类型及版本信息,利用正则表达式可以很容易的满足我们的需求,如对正则表达式不熟悉,可参照此文(正则表达式)
function check(reg) { 
var ug = navigator.userAgent.toLowerCase(); 
return reg.test(ug); 
} 
function checkBrowser() { 
var ug = navigator.userAgent.toLowerCase(); 
var userAgent = document.getElementById("userAgent"); 
userAgent.innerHTML = "浏览器的用户代理报头:" + ug; 
var browserType = ""; 
var ver = ""; 
//检测IE及版本 
var IE = ug.match(/msie\s*\d\.\d/); //提取浏览器类型及版本信息,注match()方法返回的是数组而不是字符串 
var isIE = check(/msie/); 
if(isIE) { 
browserType = "Internet Explorer"; 
ver = IE.join(" ").match(/[0-9]/g).join("."); //先用join()方法转化为字符串,然后用match()方法匹配到版本信息,再用join()方法转化为字符串 
} 
//检测chrome及版本 
var chrome = ug.match(/chrome\/\d\.\d/gi); 
var isChrome = check(/chrome/); 
if(isChrome) { 
browserType = "Chrome"; 
ver = chrome.join(" ").match(/[0-9]/g).join("."); 
} 
//检测firefox及版本 
var firefox = ug.match(/firefox\/\d\.\d/gi); 
var isFirefox = check(/firefox/); 
if(isFirefox) { 
browserType = "Firefox"; 
ver = firefox.join(" ").match(/[0-9]/g).join("."); 
} 
var browser = document.getElementById("browser"); 
browser.innerHTML = "您正在使用的浏览器为:" + browserType + "<span style='padding-left:15px;'>版本为:</span>" + ver; 
}

PS:各浏览器的用户代理信息如下:
 
IE:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; BOIE9;ZHCN);
firefox:Mozilla/5.0 (Windows NT 6.1; rv:2.0) Gecko/20100101 Firefox/4.0;
chrome:Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13
Javascript 相关文章推荐
javascript 对象定义方法 简单易学
Mar 22 Javascript
jquery 弹出层实现代码
Oct 30 Javascript
JavaScript中URL编码函数代码
Jan 11 Javascript
写自已的js类库需要的核心代码
Jul 16 Javascript
基于javascript的JSON格式页面展示美化方法
Jul 02 Javascript
js仿支付宝多方框输入支付密码效果
Sep 27 Javascript
TypeScript入门-接口
Mar 30 Javascript
MvcPager分页控件 适用于Bootstrap
Jun 03 Javascript
js图片上传的封装代码
Aug 01 Javascript
JavaScript伪数组用法实例分析
Dec 22 Javascript
解决iView中时间控件选择的时间总是少一天的问题
Mar 15 Javascript
JavaScript 2018 中即将迎来的新功能
Sep 21 Javascript
javascript学习笔记(五)正则表达式
Apr 08 #Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 #Javascript
javascript 学习笔记(一)DOM基本操作
Apr 08 #Javascript
jQuery 名称冲突的解决方法
Apr 08 #Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 #Javascript
Javascript 八进制转义字符(8进制)
Apr 08 #Javascript
JavaScript中判断函数是new还是()调用的区别说明
Apr 07 #Javascript
You might like
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
基于Python的OCR实现示例
2020/04/03 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
班级读书活动总结
2014/06/30 职场文书
地理科学专业自荐信
2014/09/01 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
学校施工安全责任书
2015/01/29 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
升学宴家长答谢词
2015/09/29 职场文书
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏