먼저 사용자의 웹 브라우저를 확인할 수 있는 코드이다.
navigator.userAgent |
위 코드를 이용해서 브라우저를 확인하고 각 브라우저 별로 처리할 수 있는 코드이다.
var Browser = { chk : navigator.userAgent.toLowerCase() } Browser = { ie : Browser.chk.indexOf('msie') != -1, ie6 : Browser.chk.indexOf('msie 6') != -1, ie7 : Browser.chk.indexOf('msie 7') != -1, ie8 : Browser.chk.indexOf('msie 8') != -1, ie9 : Browser.chk.indexOf('msie 9') != -1, ie10 : Browser.chk.indexOf('msie 10') != -1, opera : !!window.opera, safari : Browser.chk.indexOf('safari') != -1, safari3 : Browser.chk.indexOf('applewebkir/5') != -1, mac : Browser.chk.indexOf('mac') != -1, chrome : Browser.chk.indexOf('chrome') != -1, firefox : Browser.chk.indexOf('firefox') != -1 } if ((Browser.ie9) || (Browser.ie10)) { // 브라우저가 IE9, 10일 때 실행할 코드 } else if(Browser.chrome) { // chrome } else if(Browser.firefox) { // fierfox } else { // 그 외 실행할 코드 }
※ 읽기 좋은 자바스크립트 코딩 기법에선 브라우저 탐지를 매우 안좋은 습관이고 반드시 피해야 한다고 한다.
"기능 추론과 브라우저 탐지는 매우 안 좋은 습관이고 반드시 피해야 합니다. 어떤 상황이든 기능 탐지를 사용하는 것이 가장 좋습니다. … 브라우저 추론은 유지보수에 좋지도 않고 브라우저가 새로 배포될 때마다 업데이트해야 하므로 코드에서 벗어날 수 없게 될지도 모릅니다." |
'Web > JavaScript' 카테고리의 다른 글
[javascript] <input type = "image"> submit 막기 (0) | 2013.08.31 |
---|---|
[javascript] 텍스트박스 클릭시 문자 사라지기 (0) | 2013.08.28 |
[javascrript] 리터럴(literal) (0) | 2013.08.23 |
[javascript] 비밀번호 입력 범위 지정하기 (0) | 2013.08.23 |