javascript 检测浏览器类型和版本的代码
2009-09-15 00:00
886 查看
检测浏览器及其版本的代码
对象/特征检测法
该方法是一种判断浏览器能力(而非浏览器的确切型号)的通用方法。大部分JS专家认为这个方法最合适,因为他们认为按照该方法所编写的脚本是经得起未来考验的。
//获取IE浏览器的版本号//返回数值,显示IE的主版本号function getIEVer() { var ua = navigator.userAgent; //获取用户端信息 var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置 if (b < 0) { return 0; } return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值}alert(getIEVer()); //返回数值8(我的IE8)
如果更关注浏览器的能力而不在乎它实际的身份,就可以使用这种方法。
user-agent字符串检测法
user-agent字符串提供了关于Web浏览器的大量信息,包括浏览器的名称和版本。
var ua = navigator.userAgent.toLowerCase(); //获取用户端信息var info = { ie: /msie/.test(ua) && !/opera/.test(ua), //匹配IE浏览器 op: /opera/.test(ua), //匹配Opera浏览器 sa: /version.*safari/.test(ua), //匹配Safari浏览器 ch: /chrome/.test(ua), //匹配Chrome浏览器 ff: /gecko/.test(ua) && !/webkit/.test(ua) //匹配Firefox浏览器};(info.ie) && alert("IE浏览器");(info.op) && alert("Opera浏览器");(info.sa) && alert("Safari浏览器");(info.ff) && alert("Firefox浏览器");(info.ch) && alert("Chrome浏览器");
通常我们做得最多的,就是判断是否是IE了,其它几种浏览器一般都会符合标准.有些客户只需要符合IE和FF就已经满足了.那么我们可以这样做:
var isIE = (navigator.appName == "Microsoft Internet Explorer");
判断IE远远不止上面一种方法,可以使用IE更多特有的东西,如:window.ActiveXObject,document.all等,这些都属于对象/特征检测法了!通常要在不同的浏览器上写不同的样式(因为IE样式解析也各有不同),那就得判断版本了.可以这样做
//获取IE浏览器的版本号//返回数值,显示IE的主版本号function getIEVer() { var ua = navigator.userAgent; //获取用户端信息 var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置 if (b < 0) { return 0; } return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值}alert(getIEVer()); //返回数值7
检测操作系统:
var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系统,则返回truevar isMac = (navigator.userAgent.indexOf("Mac") != -1); //如果是Macintosh系统,则返回truevar isUnix = (navigator.userAgent.indexOf("X11") != -1); //如果是Unix系统,则返回truevar isLinux = (navigator.userAgent.indexOf("Linux") != -1); //如果是Linux系统,则返回true
文章大部分内容来自于《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 ( /(msie|firefox|opera|chrome|netscape)\D+(\d[\d.]*)/.test( userAgent ) ){ browser[RegExp.$1] = true; browser.appname = RegExp.$1; browser.version = RegExp.$2; } else if ( /version\D+(\d[\d.]*).*safari/.test( userAgent ) ){ // safari browser.safari = true; browser.appname = 'safari'; browser.version = RegExp.$2; } return browser.appname + browser.version; }
对象/特征检测法
该方法是一种判断浏览器能力(而非浏览器的确切型号)的通用方法。大部分JS专家认为这个方法最合适,因为他们认为按照该方法所编写的脚本是经得起未来考验的。
//获取IE浏览器的版本号//返回数值,显示IE的主版本号function getIEVer() { var ua = navigator.userAgent; //获取用户端信息 var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置 if (b < 0) { return 0; } return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值}alert(getIEVer()); //返回数值8(我的IE8)
如果更关注浏览器的能力而不在乎它实际的身份,就可以使用这种方法。
user-agent字符串检测法
user-agent字符串提供了关于Web浏览器的大量信息,包括浏览器的名称和版本。
var ua = navigator.userAgent.toLowerCase(); //获取用户端信息var info = { ie: /msie/.test(ua) && !/opera/.test(ua), //匹配IE浏览器 op: /opera/.test(ua), //匹配Opera浏览器 sa: /version.*safari/.test(ua), //匹配Safari浏览器 ch: /chrome/.test(ua), //匹配Chrome浏览器 ff: /gecko/.test(ua) && !/webkit/.test(ua) //匹配Firefox浏览器};(info.ie) && alert("IE浏览器");(info.op) && alert("Opera浏览器");(info.sa) && alert("Safari浏览器");(info.ff) && alert("Firefox浏览器");(info.ch) && alert("Chrome浏览器");
通常我们做得最多的,就是判断是否是IE了,其它几种浏览器一般都会符合标准.有些客户只需要符合IE和FF就已经满足了.那么我们可以这样做:
var isIE = (navigator.appName == "Microsoft Internet Explorer");
判断IE远远不止上面一种方法,可以使用IE更多特有的东西,如:window.ActiveXObject,document.all等,这些都属于对象/特征检测法了!通常要在不同的浏览器上写不同的样式(因为IE样式解析也各有不同),那就得判断版本了.可以这样做
//获取IE浏览器的版本号//返回数值,显示IE的主版本号function getIEVer() { var ua = navigator.userAgent; //获取用户端信息 var b = ua.indexOf("MSIE "); //检测特殊字符串"MSIE "的位置 if (b < 0) { return 0; } return parseFloat(ua.substring(b + 5, ua.indexOf(";", b))); //截取版本号字符串,并转换为数值}alert(getIEVer()); //返回数值7
检测操作系统:
var isWin = (navigator.userAgent.indexOf("Win") != -1); //如果是Windows系统,则返回truevar isMac = (navigator.userAgent.indexOf("Mac") != -1); //如果是Macintosh系统,则返回truevar isUnix = (navigator.userAgent.indexOf("X11") != -1); //如果是Unix系统,则返回truevar isLinux = (navigator.userAgent.indexOf("Linux") != -1); //如果是Linux系统,则返回true
文章大部分内容来自于《Javascript征途》
相关文章推荐
- javascript 检测浏览器类型和版本的代码
- javascript 学习笔记(六)浏览器类型及版本信息检测代码
- javascript 检测浏览器类型和版本的代码
- 精彩代码回放:jQuery实现的浏览器类型和版本检测
- JavaScript 确认检测浏览器及版本【每日一段代码65】
- javascript 浏览器类型和版本号检测代码(兼容多浏览器)
- 认识Javascript中的navigator对象以及检测浏览器类型和版本,获取浏览器版本号,检测客户端操作系统
- 常用的JavaScript检测浏览器为IE是哪个版本的代码
- javascript检测浏览器flash版本的实现代码
- javascript/js 检测浏览器类型和版本,检查浏览器是否支持flash,检查flash版本一站搞定~
- Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
- javascript 检测浏览器类型、操作系统平台的代码
- JavaScript判断浏览器类型及版本(整理)
- JavaScript判断浏览器类型及版本
- JavaScript 检测浏览器【每日一段代码67】
- JavaScript判断浏览器类型及版本
- JavaScript判断浏览器类型及版本