반응형

IE 11 로 변경하면서 문제가

IE 10 이하 버전에 맞춰 개발된 것들이 문제가 된다.

Script, CSS 등등..

 

사용자들에게 일일이 F12 눌러서 에뮬레이션을 변경해서 사용하라고 할 수도 없는 문제고

IE11 버전으로 맞춰 리모델링 하기도 만만치 않다.

 

결국 해당 웹 사이트에 접근할때 에뮬레이션 강제로 원하는 버전으로

지정해야할 필요성이 있다.

 

아래의 meta tag 를 사용하면 강제로 에뮬레이션을 변경할 수 있다.

 

<meta http-equiv="x-ua-compatible" content="IE=EmulateIE10">

IE11 로 업데이트 된 후 변경된 값이 user-agent 값이다.

 

IE11 이전 버전에서는

 

이미지에서 보이는것처럼 "msie" 문자열이 보여지지 않고,

대신 "rv" 문자열과 함꼐 버전 정보가 보여지고,

또한, "like Gecko" 문자열을 추가하여 다른 웹 브라우저와 동일시 하게 처리

 

그리고 IE11에서의 navigator.appName을 확인해 보면

다음과 같이 "Netscape"란 문자열이 출력된다.

 

 

물론 IE10 이하에서는 아래와 같은 정보를 출력한다.

 

결국 부득이 하게 IE에 의존하는 코드나 ActiveX 컨트롤이 있는 경우는

User Agent String 값에서 "msie" 대신 "Trident" 문자열을 사용하면 된다.

 

마지막으로 IE11를 사용하면서 내 PC에서는 에뮬레이션을 IE10으로 고정하고 싶다면

레지스트리는 변경하는 방법 있다.

문제는 html 5를 사용하는 웹 사이트일경우 가능하지만

XHTML를 사용하는 웹 사이트일 경우 적용되지 않는 문제가 있다.

 

방법은 다음과 같다.

 

실행에서 regedit 명령어를 사용하여 레지스트리 편집기를 열어

다음 경로로 이동하여 해당값을 추가하면 된다.

 

64bit :

HKEY-LOCAL_MACHINE\

   SOFTWARE\

    Wow6432Node\

      Microsoft\

        Windows\

          CurentVersion\

            Internet Settings\

              5.0\

               User Agent

 

32bit:

HKEY-LOCAL_MACHINE\

   SOFTWARE\

     Microsoft\

       Windows\

         CurrentVersion\

           Internet Settings\

             5.0\

               User Agent\

 

아래와 같이 설정하면 된다.

 

 

 

 

반응형