Js 判断浏览器类型

6 篇文章 0 订阅

今天,还有个备受打击的问题,怎么通过js来判定浏览器版本。初出茅庐时,我曾尝试自个写方法判定,后来jquery库之类的大量使用,已经忘记这个事了,记得以前看ibw代码时,发现了段相关代码,不过一直在草稿箱中,没有公布。这里也show,show吧,争取下次不要再犯同类错误:

_t.Browser = function ( sUA ){// IBW.Tool.Browser
var win = window ,
c = function (r){
return r.test(sUA);
},
isIE = !+'\v1',
isTrident = isIE || !!win.XDomainRequest,
isWebkit = !isTrident &&  !navigator.taintEnabled;
return {
//浏览器嗅探 
isIE  : isIE,
isIE6 : isIE && (!win.XMLHttpRequest || !!win.XMLHttpRequest.constructor),
isIE7 : isIE && !!win.XMLHttpRequest && !win.XMLHttpRequest.constructor && !win.XDomainRequest,
isIE8 : isIE && !!win.XDomainRequest,
isIE9 : !isIE && !!win.XDomainRequest, 
isMaxthon :!win.opera && !!win.external && typeof external.max_version !== 'undefined' , //opera 读external会抛出异常. external为 null
isTT : c(/; TencentTraveler/),
is360 : c(/; 360/) ,
isSogou : c(/; SE \d\./),
//渲染引擎嗅探.
isWebkit : isWebkit ,//safari chrome KHTML 渲染引擎.  !!+'\v1' 防止ie 6 报错
isGecko : !!document.getBoxObjectFor || win.mozInnerScreenX != null,//firefox 渲染引擎
isTrident : isTrident, //ie渲染引擎
isPresto : !!win.opera,//opera 渲染引擎

//扩展嗅探

//判断是否为高速模式的sougou浏览器
isFastModeSogou : isWebkit && !!win.external && win.external.propertyIsEnumerable('StartPageCall'),

//判断是否为高速模式的sougou浏览器 并且需要在修复flash模式中 触发reflow  (sougou2.0 fastMode)
isFastModeSogouNeedReflow : isWebkit && !!win.external && win.external.propertyIsEnumerable('StartPageCall') && !('localdb' in external),

//判断是否为高速模式的QQ5浏览器
isFastModeQQ : isWebkit && win.external && 'WebCorVer' in external,

//判断是否支持iframe 修复flash遮挡div的bug
isIframeOnFlash : isTrident || function(){for(var o in {1:1,0:1}) return o =='0'; return '_'}() || (win.mozInnerScreenX == null && !!document.getBoxObjectFor)
};
}(win.navigator.userAgent) ;

哎,window.navigator.userAgent真不应该忘啊,惭愧!


微信扫码,关注公众号,获取更多文章

 最新动态,请访问:51RTB



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值