public enum BrowserType {
IE10, IE9, IE8, IE7, IE6, Firefox, Safari, Chrome, Opera, Camino, Gecko
}
/** 判断是否是IE */
public static boolean isIE(HttpServletRequest request) {
return request.getHeader("USER-AGENT").toLowerCase().indexOf("msie") > 0 ? true : false;
}
/**
* 获取IE版本
*
* @param request
* @return
*/
public static Double getIEversion(HttpServletRequest request) {
Double version = 0.0;
if (getBrowserType(request, "msie 10.0")) {
version = 10.0;
}
if (getBrowserType(request, "msie 9.0")) {
version = 9.0;
}
if (getBrowserType(request, "msie 8.0")) {
version = 8.0;
}
if (getBrowserType(request, "msie 7.0")) {
version = 7.0;
}
if (getBrowserType(request, "msie 6.0")) {
version = 6.0;
}
return version;
}
/**
* 获取浏览器类型
*
* @param request
* @return
*/
public static BrowserType getBrowserType(HttpServletRequest request) {
BrowserType browserType = null;
if (getBrowserType(request, "msie 10.0")) {
browserType = BrowserType.IE9;
}
if (getBrowserType(request, "msie 9.0")) {
browserType = BrowserType.IE9;
}
if (getBrowserType(request, "msie 8.0")) {
browserType = BrowserType.IE8;
}
if (getBrowserType(request, "msie 7.0")) {
browserType = BrowserType.IE7;
}
if (getBrowserType(request, "msie 6.0")) {
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 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(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();
}
分享到:
相关推荐
解决chrome浏览器中点击链接,如果是浏览器可识别的文件类型,浏览器会自动打开而不是弹出下载框的方案
用JavaiScript里的属性来获取浏览器的版本,屏幕的分辨率,操作系统。
UserAgentUtils-1.20.jar 【用于通过从request请求中的User-Agent中获取客户端浏览器类型、客户端操作系统、客户端ip地址等信息的jar插件】 ,非常好用,导入到项目的lib包中即可使用。 maven引用地址为: <!-- ...
主要介绍了Java实现判断浏览器版本与类型简单代码示例,具有一定借鉴价值,需要的朋友可以参考下。
代码如下:function getExplorerInfo() { var explorer = window.navigator.userAgent.toLowerCase() ; //ie if (explorer.indexOf(“msie”) >= 0) { var ver=explorer.match(/msie ([\d.]+)/)[1];...
从网上找到一段使用JavaScript判断浏览器以及浏览器版本的比较好的代码,在此记录一下: [removed] var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? ...
若没有,或有一个链接去在线获取key的这种类型视频使用本工具是合并不了的。这类视频常见于版权意识较强的的视频。 6、声明:本工具使用仅作为个人学习使用,切勿做为商业目的使用。任何违法的个人行为与本工具无关...
网页浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MIME在HTTP协议中指明。一个网页中可以包括多个文档,每个文档都是分别从服务器获取的。大部分的浏览器本身...
摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法: 可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 ...
摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法: 可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 ...
摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法: 可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线 ...
listConstructors.java 利用反射机制获取构造器列表 listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的...
JS获取浏览器信息 代码如下: 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持:navigator.javaEnabled() MIME类型(数组):navigator....
DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...
DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...
DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...
DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...
DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...
摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,使用方法: 可直接输入文件名或网络地址,但必需事先连入网络。 Java编写的山寨QQ,多人聊天+用户在线...
DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统,无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器。 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列...