LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

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

admin
2011年11月29日 9:27 本文热度 2578
如果对javascript了解不是特别深入的话,很容易就会写出不兼容的代码(就像我),这时候就得判断浏览器了。比如事件侦听、一些鼠标和键盘事件、Range等,一些都会不一样.下面列出几种常用的检测浏览器方法,以飨观众!












对象/特征检测法


该方法是一种判断浏览器能力(而非浏览器的确切型号)的通用方法。大部分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系统,则返回true
var isMac = (navigator.userAgent.indexOf("Mac") != -1);   //如果是Macintosh系统,则返回true
var isUnix = (navigator.userAgent.indexOf("X11") != -1);   //如果是Unix系统,则返回true
var isLinux = (navigator.userAgent.indexOf("Linux") != -1);   //如果是Linux系统,则返回true

该文章在 2011/11/29 9:27:40 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved