Compatible Meta Code

from. 만들면서 배우는 HTML, CSS, JavaScript - yamoo

IE 8 이하 웹 브라우저의 호환성을 고려한 코드

IE 8이 출시되면서 [호환성 보기] 기능이 추가되었습니다. 기존 IE 6과 7에 맞추어 개발된 웹 사이트는 웹 표준을 고려하지 않았기 때문에 IE 8에서 열면 디자인이 깨져 보이는 문제점이 있었습니다. [호환성 보기]는 이러한 문제점을 해결하기 위해 만든 기능입니다. [호환성 보기]를 적용하면 IE 8 렌더링 엔진이 아닌 기존에 사용하던 IE 렌더링 엔진으로 화면을 그리기 때문에 화면이 깨지는 문제를 해결할 수 있습니다. meta 요소의 content 값으로 'IE=EmulateIe7'을 입력하면 IE8이 IE7처럼 작동하게 되어 호환성을 유지할 수 있습니다. 물론 다음과 같이 작성한 meta 코드는 IE만을 고려한 코드이기 때문에 다른 웹 브라우저에서는 필요 없는 코드이고, 이 코드 때문에 HTML 유효성 검사를 통과할 수 없습니다.

							<meta http-equiv = "X-UA-Compatible " content="IE=EmulateIE7" />
						

위 코드는 웹 표준을 지키는 웹 사이트에서는 필요 없습니다. 즉, 우리처럼 웹 표준을 지켜 코드를 작성할 때는 필요하지 않습니다. 오히려 IE8 웹 브라우저가 IE7 렌더링 엔진으로 화면을 해석하지 않도록 다음과 같이 코드를 작성해야 합니다.

							<meta http-equiv = "X-UA-Compatible " content="IE=edge, chrome=1" />
						

IE 8은 물론 이후 출시되는 최신 IE 버전에서는 환면을 그릴 때 최신 버전(edge) 렌더링 엔진으로 화면을 그리기 위한 코드입니다. 콤마 뒤에 붙은 'chrome=1'은 구글 크롬 프레임이 설치되어 있는 IE에서는 크롬 프레임으로 화면을 그리라는 말입니다.

※ 참고 - chrome 값※
chrome 값이 1일 경우 모든 IE, IE8이면 IE8이하 웹 브라우저, IE7이면 IE7이하 웹 브라우저에서만 크롬 프레임이 나타납니다.

크롬 프레임은 오래된 구형 IE 웹 브라우저를 최신 기술이 저원되는 웹 브라우저로 바꿔주는 플러그인입니다. 문제는 플러그인이기 때문에 웹 브라우저에 설치해야만 사용할 수있습니다. 웹 제작자 입장에서는 구형 웹 브라우저는 웹 표준이 지원되지 않고, 크로스 브라우징까지 고려해서 문서를 만들어야 하며, 새 기능을 지원하지 않기 때문에 사용자들이 최신 웹 브라우저를 쓰기를 바랍니다.

하지만 웹 제작자의 바람과는 달리 구형 브라우저를 쓰는 사람은 최신 웹 브라우저를 왜 써야 하는지 모릅니다. 기존 환경에 익숙하여 불편함을 느끼지 못하기 때문입니다. 그래서 구형 웹 브라우저를 사용하는 사람은 크롬 프레임 같은 플러그인을 설치할 생각은 커녕 이러한 플러그인이 있다는 사실조차 모릅니다. 그들은 웹 전문가가 아니라 사용자이기 때문에 이는 당연한 것입니다. 사용자는 웹을 구현하는 기술에 관심이 없습니다. 무엇을 할 수 있고, 무엇을 즐길 수 있는지가 궁금할 뿐입니다. 그렇기 때문에 웹 제작자는 크로스 브라우징이 힘들다고 해서 구형 웹 브라우저를 사용하는 사람을 원망해서는 안됩니다. 사용자의 의견을 무시한 채 강제로 설치하게 하는 것은 더욱 안됩니다.

단, 사용자에게 의견을 물어볼 수는 있습니다. 크롬 프레임을 설치하면 사용하고 있는 웹 브라우저는 그대로 사용하면서도 크롬 프레임의 장점인 속도와 기능이 향상된다고 권하는 것이지요. 사용자가 이에 동의하여 크롬 프레임을 설치하면 사용자는 더 편하게 웹 브라우징을 할 수 있겠지만, 동의하지 않는다고 해서 크게 문제되지는 않습니다. 더 나은 웹 브라우징을 경험하지 못하는 것 뿐이나까요. 좀 더 나은 웹 브라우징을 하느냐 마느냐는 결국 사용자의 몫입니다.

크롬 프레임에는 위와 같은 문제를 처리하기 위한 코드가 템플릿 코드에 추가되었습니다. 이 코드는 IE9이하 웹 브라우저를 사용하는 사용자가 웹 사이트에 접속하면 크롬 프레임을 설치할 것인지를 묻습니다. 사용자가 [chrome 프레임 활성화] 버튼을 누르면 사용자의 구형 웹 브라우저에 크롬 프레임 플러그인이 설치됩니다. 사용자가 [close] 버튼을 누르면 크롬 프레임이 설치되지 않습니다.

							<!--[if lt IE 9]><script src="http://ajax.googleapis.com/ajax/libs/chrome-frame/1/CFInstall.min.js"></script>
							<script>window.attachEvent("onload",function(){CFInstall.check({mode:"overlay"})});</script><![endif]-->
						

상기 코드를 확인하면 </head> 바로 위에 작성된 내용을 확인할 수 있습니다.
참고로 CFInstall.min.js를 다운 받어서 불러들일 수도 있습니다.