获取浏览器类型工具类

22人阅读 评论(0) 收藏 举报
分类:

获取浏览器类型工具类


import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author Created by 谭健 on 2018/4/16 0016. 星期一. 16:49.
 * © All Rights Reserved.
 * <p>
 * <p>
 * 浏览器工具类
 */
public class BrowserUtils {


    /**
     *
     * @param requestUserAgent = request.getHeader("USER-AGENT")
     * @return Browser 类型枚举
     */
    public static Browser getBrowser(String requestUserAgent) {


        if (distinguishAgent(requestUserAgent, IE11)) { return Browser.IE11; }
        if (distinguishAgent(requestUserAgent, IE10)) { return Browser.IE10; }
        if (distinguishAgent(requestUserAgent, IE9)) { return Browser.IE9; }
        if (distinguishAgent(requestUserAgent, IE8)) { return Browser.IE8; }
        if (distinguishAgent(requestUserAgent, IE7)) { return Browser.IE7; }
        if (distinguishAgent(requestUserAgent, IE6)) { return Browser.IE6; }
        if (distinguishAgent(requestUserAgent, MAX_THON)) { return Browser.MAX_THON; }
        if (distinguishAgent(requestUserAgent, QQ)) { return Browser.QQ; }
        if (distinguishAgent(requestUserAgent, GREEN)) { return Browser.GREEN; }
        if (distinguishAgent(requestUserAgent, SE360)) { return Browser.SE360; }
        if (distinguishAgent(requestUserAgent, FIRE_FOX)) { return Browser.FIRE_FOX; }
        if (distinguishAgent(requestUserAgent, OPERA)) { return Browser.OPERA; }
        if (distinguishAgent(requestUserAgent, CHROME)) { return Browser.CHROME; }
        if (distinguishAgent(requestUserAgent, SAFARI)) { return Browser.SAFARI; }
        if (distinguishAgent(requestUserAgent, CAMINO)) { return Browser.CAMINO; }
        if (distinguishAgent(requestUserAgent, GECKO)) { return Browser.GECKO; }

        return Browser.OTHER;
    }


    private static boolean distinguishAgent(String requestUserAgent, String agent) {
        Pattern p = Pattern.compile(agent, Pattern.MULTILINE);
        Matcher m = p.matcher(requestUserAgent);
        return m.find();
    }


    private final static String IE11 = "rv:11.0",
            IE10 = "MSIE 10.0",
            IE9 = "MSIE 9.0",
            IE8 = "MSIE 8.0",
            IE7 = "MSIE 7.0",
            IE6 = "MSIE 6.0",
            MAX_THON = "Maxthon",
            QQ = "QQBrowser",
            GREEN = "GreenBrowser",
            SE360 = "360SE",
            FIRE_FOX = "Firefox",
            OPERA = "Opera",
            CHROME = "Chrome",
            SAFARI = "Safari",
            CAMINO = "Camino",
            GECKO = "Gecko",
            OTHER = "其它";


    private enum Browser {

        IE6(""),
        IE7(""),
        IE8(""),
        IE9(""),
        IE10(""),
        IE11(""),
        FIRE_FOX("火狐浏览器"),
        MAX_THON("遨游浏览器"),
        QQ("QQ浏览器"),
        GREEN("GreenBrowser浏览器"),
        SE360("360安全浏览器"),
        OTHER("其它浏览器"),
        SAFARI("苹果Safari浏览器"),
        CHROME("谷歌浏览器"),
        OPERA("Opera浏览器"),
        CAMINO("MAC OS X下Camino浏览器"),
        GECKO("基于Gecko引擎开发的浏览器");

        private String describe;

        Browser(String describe) {
            this.describe = describe;
        }
    }


}
查看评论

JS获取当前浏览器的类型

if(navigator.userAgent.indexOf("MSIE")>0)   为ie浏览器。 navigator.appName.indexOf("Microsoft") != -1 ...
  • jumtre
  • jumtre
  • 2016-04-11 09:48:28
  • 5034

HTML获取浏览器类型

function isWeChat() { var userAgent = navigator.userAgent.toLowerCase(); if(userAgent.match(...
  • dkbnull
  • dkbnull
  • 2017-09-06 23:39:35
  • 496

http协议之request案例一:获取浏览器类型

案例,获取浏览器的类型 package gz.itcast.b_request; import java.io.IOException; import javax.servlet.S...
  • guyan1111
  • guyan1111
  • 2016-12-29 21:31:53
  • 1123

泛型工具类

  • 2013年07月24日 15:07
  • 725B
  • 下载

由数据库数据类型得到JAVA对应类型的工具类

import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; impo...
  • Frunqer
  • Frunqer
  • 2016-05-16 10:22:56
  • 341

获取浏览器类型及版本号

window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,通过这个属性来判断浏览器类型,下面是我写的一个函数,这个函数返回一个包含浏览器名称和...
  • Allenalex
  • Allenalex
  • 2015-01-12 17:29:04
  • 1370

php判断客户端浏览器的类型

1、通过 $_SERVER['HTTP_USER_AGENT'] 来写一个php判断浏览器类型的办法。 function my_get_browser(){ if(empty($_SERVE...
  • ww122081351
  • ww122081351
  • 2014-03-14 17:56:12
  • 3488

Java获取请求类型(Java获取浏览器请求类型;Java获取接口请求类型;微信公众号开发)

在微信公众号开发中,经常后台控制页面返回显示,在java中可根据HttpServletRequest的方法进行判断。 /** * 查看微信页面访问端 * * @return 1 、移动微...
  • oJUNLOOSE
  • oJUNLOOSE
  • 2017-06-27 11:55:40
  • 388

Java通过浏览器请求头(User-Agent)获取 浏览器类型,操作系统类型,手机机型

Java通过浏览器请求头(User-Agent)获取 浏览器类型,操作系统类型,手机机型...
  • u014593098
  • u014593098
  • 2014-10-30 14:28:18
  • 2723

判断浏览器类型工具类

这是一个java工具类,用来判断浏览器类型和版本
  • qq_27935091
  • qq_27935091
  • 2017-07-12 18:03:52
  • 67
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 19万+
    积分: 3378
    排名: 1万+
    个人说明
    博客专栏