Program Tip

IE9가 IE7 표준으로 문서 모드에서 열리는 이유는 무엇입니까?

programtip 2020. 11. 10. 22:09
반응형

IE9가 IE7 표준으로 문서 모드에서 열리는 이유는 무엇입니까?


DOCTYPE을 사용하여 IE9에서 웹 페이지를 열 때

<!DOCTYPE html>

IE7 표준으로 문서 모드를 엽니 다.

페이지를 열 때 기본 IE9 표준이 필요합니다.

이 문서 모드 문제를 해결하는 방법은 무엇입니까?

IE 브라우저 개발자 도구에서 제공되는 방법에 대한 스크린 샷

여기에 이미지 설명 입력


이 답변을 시도하십시오 : https://stackoverflow.com/a/13524518/1679310 .

요약하면 메타 태그에서 IE 브라우저에 더 많은 정보를 제공합니다.

<!DOCTYPE html>
<html>
  <head>
    <title>My Web</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

편집 참고 : Olly Hodgson이 언급했듯이 적절한 옵션은 현재 위의 스 니펫에 명시된대로 IE = edge입니다. 아래는 원래의 작동 버전입니다.

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

IE7 표준에 따라 문서를 구문 분석하는 데는 여러 가지 이유가있을 수 있습니다.

  1. 서버는 X-UA-Compatible문서의 HTTP 응답에서 IE7에 대한 헤더를 보냅니다 . Fiddler 와 같은 도구를 사용하여 서버 응답 헤더를 확인하십시오 .
  2. HTML 문서가 X-UA-CompatibleIE7 속성 값 으로 메타 태그를 설정하고 있습니다.
  3. 페이지는 "호환성보기"에서 열기 위해 IE에 의해 자동으로 감지됩니다. 기본적으로 모든 인트라넷 사이트는 IE의 "호환성보기"에서 볼 수 있습니다. Tools -> Compatibility view settingsIE에서 "호환성보기에서 인트라넷 사이트 표시"확인란을 선택 취소합니다 . "호환성보기에서 모든 웹 사이트 표시"도 ​​선택 취소해야합니다.
  4. 개발자 도구를 사용하고 "IE7 표준"모드에서 렌더링 할 페이지를 표시하도록 명시 적으로 설정했습니다. 그러나 이것은 클라이언트 단위로만 발생합니다.

업데이트 2016-01-28
@Gordon이 아래 설명에서 지적했듯이 네트워크 관리자가 호환성보기를위한 사이트를 네트워크의 그룹 정책으로 설정했기 때문일 수 있습니다.
이 경우 유일한 해결 방법은 네트워크 관리자에게 연락하여 그룹 정책에서 사이트를 제거하는 것입니다. 여기에서 HTML1203을 참조 하십시오 .


web.config에서도 설정할 수 있습니다.

<system.webServer>
    <httpProtocol>
        <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=edge" />
        </customHeaders>
    </httpProtocol>

페이지에 IE7을 강제하는 메타 태그가 포함되어 있습니까?

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

그러면 페이지가 IE7 호환성을 사용하게됩니다.


웹 서버가 Apache2 인 경우 VirtualHost 구성에서 아래와 같이 응답 헤더를 설정하여 문제를 해결할 수 있음을 공유하고 싶었습니다.

Header set X-UA-Compatible "IE=edge"

이 문제는 IE9와 호환 모드의 조합과 관련된 것으로 보입니다. 우리는 SharePoint 2013 사이트이고 IE11이 페이지를 편집하려면 호환성 모드에서 실행되어야하므로 호환성 모드를 비활성화 할 수 없지만 IE9는 표시되는대로 작동합니다. 메타 태그에서 X-UA-Compatible을 "IE = edge"로 설정하면 문제가 해결되었지만 값을 IE = 10으로 설정해도 동작에 영향을주지 않았습니다. 우리는 또한 동일한 doctype을 가지고 있습니다.


프로젝트가 ASP.NET MVC 인 경우 다음을 추가해야합니다.

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

레이아웃 (템플릿) 페이지에 태그를 추가합니다. 난 단지 2 시간 동안 디버깅과 조정을했는데, 그 메타 태그 만 자식 페이지에 추가했다는 것을 깨달았습니다. 레이아웃 페이지에 추가하자마자 브라우저가 EDGE 모드로 완벽하게로드되었습니다.

참고 URL : https://stackoverflow.com/questions/13949858/why-does-ie9-opens-in-document-mode-as-ie7-standards

반응형