인터넷 익스플로어의 브라우저 모드를 고정하는 방법
대중적으로 브라우저 모드 변경 및 문서 모드 변경을 검색하면 아래와 같은 해결책이 대중적이다.
브라우저 모드 설정 방법
<head> 태그 선언 후 바로 뒤에 적용 ※ !DOCTYPE 이 지정되어야 한다.
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta http-equiv="X-UA-Compatible" content="IE=8" />
하지만, 아래의 방법이 통하지 않을 때가 있다.
이 때 내가 해결했던 방법으로는
1. 레지스트리에서 아래 위치로 이동한다.
컴퓨터\HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
2. DWORD(32비트)를 만들고 이름을 iexplore.exe로 한다.
3. 단위는 10진수를 선택하고 값은 9999로 입력한다.
===> 9999로 입력하면, internet explorer 버전이 9로 실행된다.
** 문서모드와 브라우저 모드의 차이
- 문서모드: 브라우저가 페이지를 해석할 때 사용하는 버전. 페이지를 해석하는 방식을 정의하는 것
Document Mode is what the browser uses to render the page: IE9, IE8, IE7 or Quirks
- 브라우저 모드: 웹서버와 자바스크립트에서 브라우저 자신을 가리킬 때 어떤 것을 셋팅할지 정해주는 것. 현재 브라우저의 기본 셋팅을 정의하는 것
Browser Mode sets how the browser identifies itself to the web server and to JavaScript.
예를들어.. 브라우저 모드가 IE10 이고 문서모드가 IE8이면 자신의 브라우저가 무엇이던 간에 페이지를 해석하는 브라우저 모드는 IE7이며,
해당 페이지에서 현재 브라우저 버전을 체크하는 스크립트가 있다면 결과 값은 IE10을 내뱉는다는 것이다.
인터넷에 찾아보니 문서모드와 브라우저 모드의 차이점을 제대로 설명해주는 글을 찾기가 쉽지 않았다.
아마 그 이유는 브라우저 모드와 문서모드가 다르다면 테스트를 진행하는데 의미가 없기 때문에 그렇지 않나 싶다.
It is important to only test with the same values for Document and Browser Mode.
그리고 또 하나 익스플로어는 IE11으로 업그레이드 되면서 브라우저 모드, 문서모드의 구분이 없어졌다.