답변 4개
php와 js로 구분하겠죠.
php에 사용자의 브라우저를 알아보는 $_SERVER[HTTP_USER_AGENT]가 있어요.
이거하면 ie는 '솰라솰라 msie 숫자 솰라솰라' 이렇게나와요.
msie가 몇버전이라고 알려주는건데 이걸 정규식으로 풀면되요.
if(preg_match('/(?i)msie [원하는숫자]/', $_SERVER[HTTP_USER_AGENT)){
원하는 버전일때의 처리
}else{
나머지 일반처리
}
위에껄 else if문이나 switch case나 아무거나 처리하시면 되요.
근데 php로 처리를 한다면 간단한데 ie에는 호환성보기라는게 있잖아요... 이것까지 처리하려면 js로 써야해요.
js에는 'navigator.appVersion.indexOf('MSIE 숫자')에요.
이게 익스버전나타내주는거고요. 여기서 'MSIE 숫자' 대신에 'Trident/4~6.0'이걸 넣으면 4는 8버전 9는 5버전 10은 6버전으로 나와요.
근데 또 js의 문제는 스크립트사용안함을 사용하는 버전이거나 스크립트 허용체크를 안한 사용자들은 작동을 안한다는거죠...
선택은 알아서 하시길....
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
드래곤된다님의 답변대로 코드 작성하시면 잘되는데요?
다만 드래곤된다님의 코드에 빠진 부분이 있는데, 그대로 붙여넣기하셔서 안되는거 아닌가 모르겠네요.
if(preg_match('/(?i)msie 10/', $_SERVER['HTTP_USER_AGENT'])){
echo "IE10";
}else if(preg_match('/(?i)msie 9/', $_SERVER['HTTP_USER_AGENT'])){
echo "IE9";
}else{
echo "통과";
}
위 처럼 코드 사용하시면 체크 잘 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
익스플로러 11의 경우는 msie라는 문자열이 사라졌습니다.
정확히 기억은 안 나는데 rv:11이란 걸로 거르시면 될 거 같습니다.
댓글을 작성하려면 로그인이 필요합니다.
$(document).ready(function(){
var ua = window.navigator.userAgent;
var ie = ua.indexOf("MSIE ");
var ieversion = "";
if( ie > 0 ) {
ieversion = parseInt(ua.substring(ie+5, ua.indexOf(".", ie)));
if( ieversion>=6 && ieversion<=9 ){
//코드실행
}
else{ //코드실행 }
}
});
이렇게 시도해 보세요 ^^
답변에 대한 댓글 1개
이건 크롬에서 에러나는데요... 이유는 모르겠습니다. ㅜ.ㅡ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
근데 아직 해결이 안되네요. ㅜ.ㅡ