java判断safari,java 判断浏览器类型

BrowserType.java

public enum BrowserType {

IE11,IE10,IE9,IE8,IE7,IE6,Firefox,Safari,Chrome,Opera,Camino,Gecko

}

BrowserUtils.java

import java.util.HashMap;

import java.util.Map;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;

public class BrowserUtils {

// 判断是否是IE

public static boolean isIE(HttpServletRequest request) {

return (request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0||

request.getHeader("USER-AGENT").toLowerCase().indexOf("rv:11.0")>0)? true : false;

}

/**

* 获取IE版本

*

* @param request

* @return

*/

public static Double getIEversion(HttpServletRequest request) {

Double version = 0.0;

if (getBrowserType(request, IE11)) {

version = 11.0;

}else if (getBrowserType(request, IE10)) {

version = 10.0;

}else if (getBrowserType(request, IE9)) {

version = 9.0;

}else if (getBrowserType(request, IE8)) {

version = 8.0;

}else if (getBrowserType(request, IE7)) {

version = 7.0;

}else if (getBrowserType(request, IE6)) {

version = 6.0;

}

return version;

}

/**

* 获取浏览器类型

*

* @param request

* @return

*/

public static BrowserType getBrowserType(HttpServletRequest request) {

BrowserType browserType = null;

if (getBrowserType(request, IE11)) {

browserType = BrowserType.IE11;

}

if (getBrowserType(request, IE10)) {

browserType = BrowserType.IE10;

}

if (getBrowserType(request, IE9)) {

browserType = BrowserType.IE9;

}

if (getBrowserType(request, IE8)) {

browserType = BrowserType.IE8;

}

if (getBrowserType(request, IE7)) {

browserType = BrowserType.IE7;

}

if (getBrowserType(request, IE6)) {

browserType = BrowserType.IE6;

}

if (getBrowserType(request, FIREFOX)) {

browserType = BrowserType.Firefox;

}

if (getBrowserType(request, SAFARI)) {

browserType = BrowserType.Safari;

}

if (getBrowserType(request, CHROME)) {

browserType = BrowserType.Chrome;

}

if (getBrowserType(request, OPERA)) {

browserType = BrowserType.Opera;

}

if (getBrowserType(request, "Camino")) {

browserType = BrowserType.Camino;

}

return browserType;

}

private static boolean getBrowserType(HttpServletRequest request, String brosertype) {

return request.getHeader("USER-AGENT").toLowerCase().indexOf(brosertype) > 0 ? true : false;

}

private final static String IE11 = "rv:11.0";

private final static String IE10 = "MSIE 10.0";

private final static String IE9 = "MSIE 9.0";

private final static String IE8 = "MSIE 8.0";

private final static String IE7 = "MSIE 7.0";

private final static String IE6 = "MSIE 6.0";

private final static String MAXTHON = "Maxthon";

private final static String QQ = "QQBrowser";

private final static String GREEN = "GreenBrowser";

private final static String SE360 = "360SE";

private final static String FIREFOX = "Firefox";

private final static String OPERA = "Opera";

private final static String CHROME = "Chrome";

private final static String SAFARI = "Safari";

private final static String OTHER = "其它";

public static String checkBrowse(HttpServletRequest request) {

String userAgent=request.getHeader("USER-AGENT");

if (regex(OPERA, userAgent))

return OPERA;

if (regex(CHROME, userAgent))

return CHROME;

if (regex(FIREFOX, userAgent))

return FIREFOX;

if (regex(SAFARI, userAgent))

return SAFARI;

if (regex(SE360, userAgent))

return SE360;

if (regex(GREEN, userAgent))

return GREEN;

if (regex(QQ, userAgent))

return QQ;

if (regex(MAXTHON, userAgent))

return MAXTHON;

if (regex(IE11, userAgent))

return IE11;

if (regex(IE10, userAgent))

return IE10;

if (regex(IE9, userAgent))

return IE9;

if (regex(IE8, userAgent))

return IE8;

if (regex(IE7, userAgent))

return IE7;

if (regex(IE6, userAgent))

return IE6;

return OTHER;

}

public static boolean regex(String regex, String str) {

Pattern p = Pattern.compile(regex, Pattern.MULTILINE);

Matcher m = p.matcher(str);

return m.find();

}

private static Map langMap = new HashMap();

private final static String ZH = "zh";

private final static String ZH_CN = "zh-cn";

private final static String EN = "en";

private final static String EN_US = "en";

static

{

langMap.put(ZH, ZH_CN);

langMap.put(EN, EN_US);

}

public static String getBrowserLanguage(HttpServletRequest request) {

String browserLang = request.getLocale().getLanguage();

String browserLangCode = (String)langMap.get(browserLang);

if(browserLangCode == null)

{

browserLangCode = EN_US;

}

return browserLangCode;

}

}

乐享:知识积累,快乐无限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值