zoukankan      html  css  js  c++  java
  • 一个判断浏览器类型的JS

    //写的一个判断浏览器类型和版本的Demo ^_^

    /** 
    +---------------------------------------------------------- 
    * 获取浏览器类型和版本 by cc 
    +---------------------------------------------------------- 
    * OUT:(ret(Array),详细请看代码注释) 
    +---------------------------------------------------------- 
    */ 
    function getBrowserVer() 

        var ret = new Array();        //返回的数组 
        ret['kernelType'] = "null";    //内核类型:MSIE,Firefox,Opera,Chrome 
        ret['kernelMajorVer'] = 0;    //内核的主版本 
        ret['kernelMinorVer'] = 0;    //内核的次版本 
        ret['browserType'] = "null";//浏览器类型:TheWorld,360SE,Maxthon(2.0,3.0) 
        ret['browserMajorVer'] = 0;    //浏览器的主版本 
        ret['browserMinorVer'] = 0;    //浏览器的次版本 
        var agent = window.userAgent; 
        var str = ""
        if(/MSIE \d*\.\d*/.test(agent))    //IE 
        { 
            //判断内核类型 
            str = /MSIE \d*\.\d*/.exec(agent); 
            ret['kernelType'] = "MSIE"
            //判断浏览器类型 
            if(/TheWorld/.test(agent)) 
                ret['browserType'] = "TheWorld";    //世界之窗浏览器 
            if(/360SE/.test(agent)) 
                ret['browserType'] = "360SE";        //360安全浏览器 
            if(/Maxthon/.test(agent)) 
            { 
                ret['browserType'] = "Maxthon";        //遨游浏览器 
                if(/Maxthon 2.0/.test(agent))        //2.0版本,3.0版本的兼容模式没有写版本号 
                { 
                    ret['browserMajorVer'] = 2
                    ret['browserMinorVer'] = 0
                } else { 
                    ret['browserMajorVer'] = 3
                    ret['browserMinorVer'] = 0
                } 
            } 
        } 
        if(/Firefox/.test(agent))            //firefox 
        { 
            str = /Firefox\/\d*\.\d*/.exec(agent); 
            ret['kernelType'] = "Firefox"
        } 
        if(/Opera\/\d*\.\d*/.test(agent))    //opera 
        { 
            str = /Opera\/\d*.\d*/.exec(agent); 
            ret['kernelType'] = "Opera"
        } 
        if(/Chrome\/\d*.\d*/.test(agent))    //Chrome 
        { 
            str = /Chrome\/\d*\.\d*/.exec(agent); 
            ret['kernelType'] = "Chrome"
        } 
        if(ret['kernelType'] != "null"
        { 
            ret['kernelMajorVer'] = /\d*/.exec(/\d*\./.exec(str)); 
            ret['kernelMinorVer'] = /\d*$/.exec(/\.\d*/.exec(str));     
        } 
        return ret; 

    原文地址:http://hi.baidu.com/_ccsec/blog/item/3abaa204508e689ad53f7c49.html

  • 相关阅读:
    [LeetCode] 56. Merge Intervals 解题思路
    [LeetCode] 128. Longest Consecutive Sequence 解题思路
    [LeetCode] Subsets I (78) & II (90) 解题思路,即全组合算法
    linux安装PHP7以及扩展
    php安装composer
    细说PHP中strlen和mb_strlen的区别
    mysql一些简单操作
    mysql数据库使用Navicat时向Navicat导入sql文件时某字段过大时的处理
    JS中||的某些用法
    PHP验证身份信息
  • 原文地址:https://www.cnblogs.com/goding/p/2116699.html
Copyright © 2011-2022 走看看