js判断浏览器类型

其实jQuery 也可以判断浏览器类型,但是从1.9之后就删除了$.browser 

所以我没有使用jQuery

测试页面:

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="js/jquery-1.10.1.js"></script>
    <script type="text/javascript" src="js/common_util.js"></script>
    <script type="text/javascript">


        window.οnlοad=function(){
//            var brow = $.browser;
//            alert(brow);
            var browser = com.whuang.hsj.getBrowserVersion(true);
            document.write(browser.ver+"<br>");
            document.write("language:"+browser.lang);
        }

    </script>
</head>
<body>

</body>
</html>

(1) 在chrome中运行结果:

 说明:中间一行的"36.0.1985.143"是浏览器版本号

 

(2)在IE8中运行结果:

 

 

(3)在IE9中运行结果:

 

 

(4)在火狐中运行结果:

但是在火狐中的版本号不对,js获取的版本号是33.0 ,但是应该是33.1,如下图:

 暂时不知道什么原因,不过影响不大

 

核心方法:com.whuang.hsj.getBrowserVersion

参数说明:只有一个参数,用于打印浏览器名称.用于上线的项目时应该设置为false.

返回值说明:

返回的是一个对象.

 var browser = com.whuang.hsj.getBrowserVersion(false);

 

可以通过browser.firefox 判断是否是火狐浏览器,通过browser.chrome 判断是否是谷歌浏览器,等等.

browser.lang是浏览器语言,取值范围是['zh-cn','zh','en-us','en']

注意:browser.lang的值均是小写,并且zh-cn 是中划线,不是下划线.

 

com.whuang.hsj.getBrowserVersion见附件common_util.zip

com.whuang.hsj.getBrowserVersion实现

/***
 * get browser type and browser version and language
 * @param write22
 * @returns {{}}
 */
com.whuang.hsj.getBrowserVersion=function(write22){
    var browser = {};
//    console.dir(navigator);
    var userAgent = navigator.userAgent.toLowerCase();
    /*for(osvId in navigator){
        var value222=navigator[osvId];
        document.writeln(osvId+":&nbsp;"+value222+'<br>');
    }*/
    var lang22=navigator.language;
//    document.writeln(userAgent+'<br>');
//    document.writeln(navigator.appCodeName+'<br>');
    var s;
    (s = userAgent.match(/msie ([\d.]+)/)) ? browser.ie = s[1] : (s = userAgent.match(/firefox\/([\d.]+)/)) ? browser.firefox = s[1] : (s = userAgent.match(/chrome\/([\d.]+)/)) ? browser.chrome = s[1] :
        (s = userAgent.match(/opera.([\d.]+)/)) ? browser.opera = s[1] : (s = userAgent.match(/version\/([\d.]+).*safari/)) ? browser.safari = s[1] : 0;
    var version = "";
    if (browser.ie) {
        version =  browser.ie;
        if(write22 && write22!=false && write22!='false'){
            document.writeln('IE<br>');
        }
        if(!browser.lang ||browser.lang==undefined){
            lang22=navigator.browserLanguage;
            browser.systemLanguage=navigator.systemLanguage ;
            browser.userLanguage=navigator.userLanguage;
        }
    }
    else
    if (browser.firefox) {
        version = browser.firefox;
        browser.mozilla=browser.firefox;
        if(write22 && write22!=false && write22!='false'){
            document.writeln('firefox<br>');
        }
    }
    else
    if (browser.chrome) {
        version = browser.chrome;
        if(write22 && write22!=false && write22!='false'){
            document.writeln('chrome<br>');
        }
    }
    else
    if (browser.opera) {
        version =  browser.opera;
        if(write22 && write22!=false && write22!='false'){
            document.writeln('opera<br>');
        }
    }
    else
    if (browser.safari) {
        version =  browser.safari;
        if(write22 && write22!=false && write22!='false'){
            document.writeln('Safari<br>');
        }
    }
    else {
        version = 'unknown browser';
    }
    browser.ver=version;
    if(lang22 && lang22!=undefined)
    {
        browser.lang=lang22.toLowerCase();
    }
    return browser;
}

 参考:

获取鼠标的位置/坐标

js 常见问题 4

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值