조각이론
각 브라우저별 header 정보 본문
각 브라우저별 해더정보는 다음과 같습니다.
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 |
출처: https://cofs.tistory.com/47 [CofS]
'eGovFrame' 카테고리의 다른 글
WebUtils 사용하기 (0) | 2019.01.06 |
---|---|
[JAVA] serialVersionUID 이란? Warning 해결하기 (0) | 2019.01.06 |
답변형 게시판 (0) | 2018.12.03 |