首页 > JavaScript/ 网络技术 > js判断浏览器的函数,可区分chrome,safari

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

相关文章

"js判断浏览器的函数,可区分chrome,safari"已有6条评论
    crazydream2008

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

    2009年12月27日 07:46 回复 引用

    断桥残雪

    谢谢对本博客的支持

    2009年12月27日 16:50 回复 引用

    DDBug

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

    2009年12月29日 19:57 回复 引用

    小松

    浏览器版本貌似不对哦~我FF3.6.12测试不正确

    2010年11月30日 00:46 回复 引用

    南通婚纱摄影

    感谢啦!!小站用上了, 不过还是有点不正确,在苹果电脑上使用win7 既然显示的也是 safari判断出来的效果

    2011年08月14日 07:43 回复 引用

    asdasd

    so,goodvar browserName=navigator.userAgent.toLowerCase();if(!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){window.location=”/”;}

    2011年10月28日 08:44 回复 引用

文明发言,你好我也好
正在提交,请稍后...
返回顶部