js判断浏览器的函数,可区分chrome,safari

加载中……

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仍然存在

2009年12月26日
首页 > JavaScript, 网络技术 > js判断浏览器的函数,可区分chrome,safari

相关文章

评论( 3 )
  1. crazydream2008 2009年12月27日 07:46  | #1 沙发!

    感谢你的文章 很有帮助 用到了

  2. DDBug 2009年12月29日 19:57  | #2 板凳

    @crazydream2008
    确实很有帮助,顺便测试一下你的楼层

  3. 断桥残雪 2009年12月27日 16:50  | #3

    谢谢对本博客的支持

容许使用的 HTML 标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackbacks & Pingbacks ( 0 )