`
jilong-liang
  • 浏览: 484204 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

获取浏览器类型

    博客分类:
  • Java
阅读更多
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;

public class BrowserUtils {
	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();
	}

}

 

1
4
分享到:
评论
4 楼 tongchuang123 2013-07-11  
哇。。。厉害
3 楼 330821256 2013-06-19  
不错,收藏备用
2 楼 lucky16 2013-06-18  
收藏备用。
1 楼 asialee 2013-06-18  
不错,这个比较全

相关推荐

    javascript获取浏览器类型和版本的方法(js获取浏览器版本).docx

    JavaScript 获取浏览器类型和版本的方法 浏览器类型和版本是 web 开发中非常重要的信息,许多web应用程序需要根据浏览器类型和版本来进行相应的处理。JavaScript 提供了多种方法来获取浏览器类型和版本,本文将介绍...

    获取浏览器类型及平台信息ruby

    ### 一、获取浏览器类型 #### 1.1 基本原理 为了识别用户使用的浏览器类型,我们可以通过分析 HTTP 请求头中的 `User-Agent` 字段来实现。`User-Agent` 是一个包含有关用户浏览器和操作系统的字符串。不同的浏览器...

    javascript获取浏览器类型和版本的方法(js获取浏览器版本)

    了解如何使用JavaScript获取浏览器类型和版本是非常实用的,它可以帮助开发者根据不同的浏览器情况来优化网站的表现或用户体验。以下,我们将详细探讨在JavaScript中获取浏览器类型和版本的方法。 首先,要获取...

    HttpServletRequest解析设备类型和浏览器类型

    分析HttpServletRequest 内容 解析出设备来源 手机 电脑 什么种类浏览器 什么系统

    php获取浏览器信息

    1. 获取浏览器类型: 使用`$_SERVER['HTTP_USER_AGENT']`可以获取到浏览器的完整标识字符串,然后可以通过正则表达式或预定义的函数来解析这个字符串,识别出浏览器类型。例如: ```php function getBrowser() {...

    获取当前浏览器的类型及乱码问题

    #### 获取浏览器类型 通过分析HTTP请求头中的`User-Agent`字段可以获取当前用户的浏览器类型。`User-Agent`是一个字符串,它包含了客户端浏览器的名称、版本以及其他操作系统的信息。例如: ```java String ...

    获取浏览器类型,屏幕分辨率,操作系统的JS代码

    用JavaiScript里的属性来获取浏览器的版本,屏幕的分辨率,操作系统。

    ASP.NET获取客户端的操作系统、浏览器、.NET版本等信息

    获取浏览器类型和版本则同样依赖于UserAgent字符串。下面是一个简单的示例,展示了如何识别常见的浏览器: ```csharp if (userAgent.Contains("Firefox")) { // Firefox浏览器 } else if (userAgent.Contains(...

    asp.net下获取浏览器类型的实现代码

    上次我需要判断浏览器是IE还是FF,如果是FF那么页面停止输出。但方法写得不是很好,现在在书中看到了Page.Request.Browser属性,这个属性主要用来检查当前浏览器性能,看下我下面代码的不同执行结果。

    jQuery获取浏览器类型和版本号的方法

    知识点一:jQuery获取浏览器类型和版本号的历史演进 jQuery是一个快速、小巧的JavaScript库,其功能之一就是简化HTML文档遍历和事件处理,以及动画制作等。在早期的jQuery版本中,开发者可以通过$.browser和$....

    ASP.NET2.0 c# 获取浏览器,IP,URL,操作系统

    ### 获取浏览器类型 `Request.Browser.Type.ToString()`用于获取客户端浏览器的类型。`Browser`对象包含了浏览器的相关信息,包括其类型(如IE、Firefox、Chrome等)。这些信息对于实现浏览器特性的兼容性检查、...

    js获取浏览器类别源码

    在JavaScript编程中,获取浏览器类型和版本是常见的需求,这对于实现特定浏览器的兼容性处理或者进行用户行为分析非常有用。本文将深入探讨如何利用JavaScript获取浏览器类别及其版本,并结合提供的资源进行详细说明...

    JS 获取浏览器参数

    这篇博文“JS 获取浏览器参数”可能探讨了如何利用JavaScript来收集关于用户浏览器的信息,包括但不限于浏览器类型、版本、操作系统、屏幕分辨率等。 首先,我们可以使用`navigator`对象来获取浏览器的基本信息。`...

    获取浏览器当前页面地址栏的URL

    在实际项目中,`GetBrowserTypeTest`可能是一个测试程序,它包含了对多种浏览器类型进行检测和URL获取的逻辑。这个程序可能会更全面地处理各种情况,包括但不限于Firefox、Safari、Opera等,并且可能考虑到了多窗口...

    Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码

    与获取浏览器类型相似,我们也可以根据`navigator.userAgent`或`navigator.platform`来判断用户所使用的操作系统类型。以下是判断操作系统类型的规则: - **Mac OS**:如果`navigator.platform`包含"Mac"相关标识,...

    js检测浏览器类型

    我们可以利用`navigator.userAgent`属性来获取浏览器发送到服务器的用户代理字符串(User-Agent string)。这个字符串包含了浏览器的名称、版本号以及操作系统等信息。 例如,对于一个典型的User-Agent字符串,如:...

    javascript实现获取浏览器版本、浏览器类型

    以上就是使用JavaScript获取浏览器类型和版本号的相关知识点。通过阅读本文,开发者可以学会如何编写JavaScript代码来检测用户的浏览器环境,并根据需要进行相应的处理。这对于提高Web应用的用户体验和兼容性是非常...

    .net 获取浏览器Cookie(包括HttpOnly)实例分享.docx

    在本文中,我们将探讨如何在 .net 环境中获取浏览器 Cookie,包括 HttpOnly 类型的 Cookie。 HttpOnly Cookie 是一种特殊类型的 Cookie,用于保护用户的隐私和安全。下面,我们将详细介绍如何使用 .net 获取浏览器 ...

Global site tag (gtag.js) - Google Analytics