반응형
Java에서 브라우저와 버전을 확인하기 위한 예제입니다.
private static String UserBrowserChk(IckContext context) {
String userAgent = context.getRequest().getHeader("user-agent");
String browser = "";
if(userAgent.indexOf("Trident") > -1 || userAgent.indexOf("MSIE") > -1) { //IE
if(userAgent.indexOf("Trident/7") > -1) {
browser = "IE 11";
}else if(userAgent.indexOf("Trident/6") > -1) {
browser = "IE 10";
}else if(userAgent.indexOf("Trident/5") > -1) {
browser = "IE 9";
}else if(userAgent.indexOf("Trident/4") > -1) {
browser = "IE 8";
}else if(userAgent.indexOf("edge") > -1) {
browser = "IE edge";
}
}else if(userAgent.indexOf("Whale") > -1){ //네이버 WHALE
browser = "WHALE " + userAgent.split("Whale/")[1].toString().split(" ")[0].toString();
}else if(userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1){ //오페라
if(userAgent.indexOf("Opera") > -1) {
browser = "OPERA " + userAgent.split("Opera/")[1].toString().split(" ")[0].toString();
}else if(userAgent.indexOf("OPR") > -1) {
browser = "OPERA " + userAgent.split("OPR/")[1].toString().split(" ")[0].toString();
}
}else if(userAgent.indexOf("Firefox") > -1){ //파이어폭스
browser = "FIREFOX " + userAgent.split("Firefox/")[1].toString().split(" ")[0].toString();
}else if(userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1 ){ //사파리
browser = "SAFARI " + userAgent.split("Safari/")[1].toString().split(" ")[0].toString();
}else if(userAgent.indexOf("Chrome") > -1){ //크롬
browser = "CHROME " + userAgent.split("Chrome/")[1].toString().split(" ")[0].toString();
}
LOG.debug("userAgent 확인 ["+userAgent+"]");
LOG.debug("브라우저/버전 확인 ["+browser+"]");
return browser;
}
context.getRequest().getHeader("user-agent");는 java 프레임워크에 따라 다르므로
request.getHeader("user-agent"); 로 사용 가능합니다.
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 날짜 FOR문 (0) | 2023.02.05 |
---|---|
[JAVA] HTML5 이하 특수문자('포함) JAVA에서 치환 (0) | 2022.02.07 |
[JAVA] iBatis / MyBatis 차이 (변경사항) (0) | 2019.11.20 |
[JAVA] ModelAndView 기본형식 (0) | 2019.11.13 |
[JAVA] MVC패턴 redirect 전달방법 (0) | 2019.11.13 |