마이크로 소프트 사이트에서 그들은 단순한 doctype 선언으로 충분하다고 주장합니다. 그러나 이만큼 짧은 문서도 IE7 모드로 돌아갑니다.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
마이크로 소프트 사이트에서 그들은 단순한 doctype 선언으로 충분하다고 주장합니다. 그러나 이만큼 짧은 문서도 IE7 모드로 돌아갑니다.
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
답변:
Internet Explorer는 대부분의 웹 페이지가 이전 버전의 IE를 대상으로 작성되었다고 가정하고 doctype, 메타 태그 및 HTML을 검토하여 최상의 호환성 모드를 결정합니다 (때로는 잘못됨). HTML5 doctype IE를 사용하더라도 인트라넷 사이트 인 경우 웹 사이트를 호환성 모드로 유지합니다.
웹 사이트가 항상 최신 표준 모드를 사용하도록하려면 Display intranet sites in Compatibly
이 기능이 꺼져 있는지 확인하십시오 . 그러나 웹 서버에 로컬 인 각 컴퓨터에서이 작업을 수행해야합니다 (지침은 아래 참조).
또는 더 나은 방법은 X-UA-Compatible
헤더를 사용 하여 서버에서이 기능을 끌 수 있습니다 . 메타 태그 를 사용하면 작동하지 않는다는 점에 유의해야 합니다.
<!-- Doesn't always work! -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
MSDN 전체에서 호스트 헤더 또는 메타 태그를 사용하면 인트라넷 사이트도 재정의해야한다고 언급되어 있습니다. Internet explorer 8의 호환성 모드 이해 기사 에는 다음 내용이 나와 있습니다.
많은 내부 비즈니스 웹 사이트가 Internet Explorer 7에 최적화되어 있으므로이 기본 예외가 해당 호환성을 유지합니다. ... 메타 태그 또는 http 헤더를 사용하여 문서에 호환성 모드를 설정하면 이러한 설정이 무시됩니다.
그러나 실제로는 작동하지 않으며 호스트 헤더를 사용하는 것이 작동하는 유일한 옵션입니다. 이 기사의 댓글 섹션에는이 정확한 문제에 대한 수많은 예가 나와 있습니다.
메타 태그를 사용하면 태그가 태그 바로 아래에 있지 않거나 <head>
이전에 너무 많은 데이터가있는 경우 (4k) 태그를 무시하는 것과 같은 몇 가지 다른 문제 가 있습니다. 또한 일부 버전의 IE에서 문서가 다시 구문 분석되어 렌더링 속도가 느려질 수 있습니다. 이러한 문제에 대한 자세한 내용은 MSDN 문서 Best Practice : Get your HEAD in order에서 확인할 수 있습니다.
X-UA-Compatible 헤더 추가
.NET 및 IIS를 사용하는 경우이를 web.config
할 수 있으며 프로그래밍 방식으로도 수행 할 수 있습니다.
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
IIS를 사용하지 않는 경우 모든 언어로 쉽게 수행 할 수 있습니다. 예를 들어, 다음은 PHP에서 수행하는 방법입니다.
header('X-UA-Compatible: IE=edge');
한 X-UA-Compatible
헤더는 HTML5의 문서 타입을 가진 존재, 사이트는 항상 최신 표준 모드로 실행됩니다.
호환성보기 끄기 호환성보기
를 끄는 것이 여전히 유용 할 수 있습니다. 그렇게하려면Display all intranet sites in compatibility view
호환성보기 설정에서 선택을 하십시오.
Alt메뉴를 가져 오기 위해 눌렀을 때이를 불러올 수 있습니다 .
편집 이 답변은 IE9에도 적용됩니다.
alt
은 도구 모음을 불러오는 데 사용 합니다. 도구-> 호환성보기 설정 아래에 있습니다
이거 저 한테 맞아요 ..
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
X-UA-Compatible
메타 태그가 있지만 여전히 IE10 표준 문서 모드를 페이지 기본값으로 트리거하지 않는 호스팅 된 웹 사이트 (비 인트라넷 사이트)의 경우 메타 태그가 스크립트 태그 아래에 있거나 <head>
DOM 트리에서 너무 멀어지면 IE10이 울고 문서 모드를 IE8 표준으로 설정합니다. 따라서 IE=edge
메타 태그는 태그를 닫아 두십시오 <title>
. 헤더 템플릿 파일에 하드 코딩되지 않은 Wordpress 사이트에 대한 단순한 수정은 아닙니다. IE11이 메타 태그의 위치에 관심이 있는지 확실하지 않지만 이것이 누군가에게 도움이되기를 바랍니다.
머리에 다음 태그를 추가해보세요
<meta http-equiv="X-UA-Compatible" content="IE=11,IE=10,IE=9,IE=8" />
IE=Edge
대신
메타 태그는 인트라넷 사이트에 대해 아무것도 수행하지 않으며 내 문제는 IE10 호환성 모드에서 IE10 렌더링이었습니다. 나를 위해 문제를 해결 한 것은 @Jeow의 답변을 더 취하고 web.config
IIS 에서 다음을 추가하여 http 헤더에 해당 값을 사용하는 것입니다 .
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<!-- <add name="X-UA-Compatible" value="IE=edge" /> not good enough -->
<add name="X-UA-Compatible" value="IE=11,IE=10,IE=9,IE=8" />
</customHeaders>
</httpProtocol>
</system.webServer>
IE 목적을 위해 인트라넷 사이트에는 외부로 라우팅되지 않는 공용 사이트가 포함됩니다. 예를 들어 사무실에서 근무하는 Stackoverflow 직원은 호환 모드에서 stackoverflow.com을 볼 수 있습니다.
다음을 수행했을 때 완벽하게 작동했습니다.
에 http://msdn.microsoft.com/en-us/library/gg699338(v=vs.85).aspx
첫 번째 상자에서 제공하는 정확한 예를 사용했습니다 (누락 된 </html>
아래에 을 ) IE10에서 열었고 표준이 강제되었습니다.하지만 확실하지 않은 표준을 강제하려면 html의 실제 콘텐츠가 필요할 수 있습니다.
제 제안은 빈 코드를 실제 내용 (간단한 것)으로 바꾸고 그것이 무엇을하는지 보는 것입니다.