JS中判断浏览器类型

Javascript 中有时候需要根据浏览器的类型做不同的操作 
比如XML DOM中的nextSibling在IE和非IE中的取得值就不同 
因此需要先判断browser的类型 然后写不同代码 
言归正传:
使用 Navigator这个JS对象 获取浏览器的信息
if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0))
{  
is_IE_browser = true;}
else  if (navigator.userAgent.indexOf('Firefox') >= 0)
{  
is_Firefox_browser = true;  }
else  if (navigator.userAgent.indexOf('Chrome') >= 0)
{
is_Chrome_browser = true ;  }
关于这个对象具体信息 参考 http://www.w3school.com.cn/jsref/dom_obj_navigator.asp 


userAgent这个用户请求代理的数据头  
比如IE9的请求是
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)
里面有MSIE的字符串作为判断标识


百度首页是这么判断的
var c=(navigator&&navigator.userAgent)?navigator.userAgent:"";
//var b=(document&&document.cookie)?document.cookie:"";
var a=!!(c.match(/(msie [2-8])/i)||(c.match(/windows.*safari/i)&&!c.match(/chrome/i))||c.match(/(linux.*firefox)/i)||c.match(/Chrome\/29/i)||c.match(/mac os x.*firefox/i)


当然还有号称 最短的IE浏览器判断代码 
<script type="text/javascript"> 
var ie = !-[1,]; 
alert(ie); 
</script> 
利用了IE与标准浏览器在处理数组的toString方法的差异做成的  不过在IE9的兼容模式测试不通过 不知道是不是有修改了


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值