도메인 제어 환경에서 X-UA 태그,! DOCTYPE 정의 및 "IE = Edge"응답을 제공하는 경우에도 특정 클라이언트 (winXP / Win7, IE8 / IE9)에서 호환성 모드가 트리거되는 것을 발견했습니다. 헤더. 이러한 클라이언트에는 "호환성보기에 인트라넷 사이트 표시"확인란이 선택되어 있습니다. 정확히 내가 재정의하려는 것입니다.
다음은 IE가 실제로 호환성 모드를 트리거하기로 결정하는 방법을 이해하기 위해 사용한 문서입니다.
http://msdn.microsoft.com/en-us/library/ff406036%28v=VS.85%29.aspx
http://blogs.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx
사이트 소유자는 항상 자신의 콘텐츠를 제어합니다. 사이트 소유자는 X-UA-Compatible 태그를 사용하여 사이트를 표시하는 방법에 대해 절대적으로 선언하고 표준 모드 페이지를 IE7 표준에 매핑하도록 선택할 수 있습니다. X-UA-Compatible 태그를 사용하면 클라이언트의 호환성보기가 재정의됩니다.
Google for "Defining Document Compatibility" , 안타깝게도 SPAM 엔진은 2 개 이상의 URL을 게시 할 수 없습니다.
이것은 ASP .NET
웹앱이며 마스터 페이지에 다음 정의를 포함합니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
</head>
과 web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Fiddler를 사용하여 헤더가 실제로 올바르게 삽입되고 있는지 확인했습니다.
내 이해는 이러한 설정을 사용하면 "호환성보기에서 인트라넷 사이트 표시"브라우저 설정을 재정의 할 수 있어야한다는 것입니다. 그러나 클라이언트에 따라 일부는 여전히 호환성 모드를 트리거한다는 것을 알았습니다. 또한 다른 클라이언트에서 동일한 자격 증명 집합을 사용하더라도 다른 결과를 얻으므로 정책 그룹 설정이 아니라 컴퓨터 수준으로 내려간 것 같습니다.
호환성보기 설정 확인란을 비활성화하면 문제가 해결됩니다. 그러나 실제 목적은 클라이언트 설정에 관계없이 앱이 정확히 동일한 방식으로 렌더링되도록하는 것입니다.
어떤 생각과 내가 놓칠 수있는 것이 무엇입니까? IE가 Compat 모드를 트리거하지 않고 항상 페이지를 렌더링하도록 강제 할 수 있습니까?
정말 고마워,
Jaume
추신 : 이 사이트는 현재 개발 중이며 물론 Microsoft의 호환성 목록에 없지만 만일을 대비하여 확인했습니다.
"호환성보기 목록 이해"를 위한 Google , 슬프게도 스팸 엔진은 2 개 이상의 URL을 게시 할 수 없습니다.