먼저 사용자의 웹 브라우저를 확인할 수 있는 코드이다.
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 |