加载中……
在jQuery浏览器判断出错之后,我曾经写过一篇问章《jQuery浏览器判断一个bug,以及修改建议》,说到了jQuery浏览器判断函数$.browser的修改意见,今天我再写两个js判断浏览器的函数。
浏览器判断的对象mybrowser
var browserName = navigator.userAgent.toLowerCase(); mybrowser = { version: (browserName.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1], safari: /webkit/i.test(browserName) && !this.chrome, opera: /opera/i.test(browserName), firefox:/firefox/i.test(browserName), ie: /msie/i.test(browserName) && !/opera/.test(browserName), mozilla: /mozilla/i.test(browserName) && !/(compatible|webkit)/.test(browserName) && !this.chrome, chrome: /chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName) }
对象中mybrowser.浏览器名如果为true,则当前浏览器为相关浏览器,mybrowser.version为浏览器的版本号
各浏览器的判断函数
此处还是使用navigator.userAgent来判断浏览器类型。
1、浏览器版本号函数:
var br=navigator.userAgent.toLowerCase(); var browserVer=(br.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1];
2、js浏览器判断函数
function userBrowser(){ var browserName=navigator.userAgent.toLowerCase(); if(/msie/i.test(browserName) && !/opera/.test(browserName)){ alert("IE"); return ; }else if(/firefox/i.test(browserName)){ alert("Firefox"); return ; }else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){ alert("Chrome"); return ; }else if(/opera/i.test(browserName)){ alert("Opera"); return ; }else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){ alert("Safari"); return ; }else{ alert("unKnow"); } }
最近发现在jQuery1.4Alpha2中还是没有添加对chrome的判断,并且$.browser.safari在chrome浏览器下还是true,详情请继续阅读文章:《jQuery1.4浏览器判断函数bug仍然存在》

感谢你的文章 很有帮助 用到了
@crazydream2008
确实很有帮助,顺便测试一下你的楼层
谢谢对本博客的支持