jsp / 브라우저 구분 / java / javascript
2016. 1. 5. 14:44ㆍlanguage/jsp
JAVA 또는 Javascript로 브라우저를 구분하는 예제입니다.
각 브라우저별 해더정보는 다음과 같습니다.
1. Internet Explorer 11
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko
1-1. Internet Explorer 10
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
2. Safari
Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
3. Chrome
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
4. Opera
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36 OPR/17.0.1241.53
4-1. Opera 구버전
Opera/9.80 (Windows NT 6.1; WOW64; U; ko) Presto/2.10.229 Version/11.62
5. Firefox
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
여기서 각각 특징있는 단어를 뽑아서 브라우저를 구별하면 됩니다.
한가지 주의사항이 있는데, IE10까지는 MSIE라는 단어로 구별해왔습니다만 IE11에는 자세히 보면 MSIE라는 단어가 없습니다.
그래서 IE11은 Trident 라는 단어로 구별해야합니다.
Trident라는 단어는 IE6~IE7 에는 없고 IE8~IE11까지 있습니다.
오페라도 Opera와 OPR 두 가지로 구별해야겠습니다.
java
private String getBrowser(HttpServletRequest request) {
String header = request.getHeader("User-Agent");
if (header != null) {
if (header.indexOf("Trident") > -1) {
return "MSIE";
} else if (header.indexOf("Chrome") > -1) {
return "Chrome";
} else if (header.indexOf("Opera") > -1) {
return "Opera";
} else if (header.indexOf("iPhone") > -1
&& header.indexOf("Mobile") > -1) {
return "iPhone";
} else if (header.indexOf("Android") > -1
&& header.indexOf("Mobile") > -1) {
return "Android";
}
}
return "Firefox";
} |
cs |
javascript
function browserCheck(){
var browser = navigator.userAgent.toLowerCase();
var text = "";
if ( -1 != browser.indexOf('chrome') )
text = 'chrome';
if ( -1 != browser.indexOf('trident') )
text = 'ie';
if ( -1 != browser.indexOf('opera') || -1 != browser.indexOf('opr') )
text = 'opera';
if ( -1 != browser.indexOf('firefox') )
text = 'firefox';
} |
cs |
도움이 되셨다면 공감을 부탁드립니다. ^^
'language > jsp' 카테고리의 다른 글
[필독][기초] / 서블릿 / servlet [part 5] (0) | 2016.01.05 |
---|---|
[필독][기초] / 서블릿 / servlet [part 4] (0) | 2016.01.05 |
[필독][기초] / 서블릿 / servlet [part 3] (0) | 2016.01.05 |
[필독][기초] / 서블릿 / servlet [part 2] (0) | 2016.01.05 |
[필독][기초] / 서블릿 / servlet [part 1] (0) | 2016.01.05 |
jsp / excel / 엑셀 / table / 테이블 / 다운로드 / html / Header (0) | 2016.01.05 |
jstl / 줄바꿈 / \r\n / br태그 / replace / 개행문자 (0) | 2016.01.05 |
jstl / 1000단위 구분 / , / 콤마 (0) | 2016.01.05 |
jsp / queryString / parameter / request / 파라메터 조합 (0) | 2016.01.05 |
jstl / 현재 날짜 / today (2) | 2016.01.05 |