developer tip

IE에서 호환성보기를 비활성화하는 방법

copycodes 2020. 10. 20. 07:45
반응형

IE에서 호환성보기를 비활성화하는 방법


IE 8을 사용하는 사람들이 호환성 모드로 이동하는 것을 어떻게 막을 수 있는지 궁금합니다.

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

이 태그를 찾았고 이로 인해 사람들이 IE-8 모드에 머물러야한다고 생각하지만 확실하지 않으며 IE 9가 있으므로 확인할 수 없습니다.

사람들이 IE 9 모드에 있다면 IE 8 또는 IE 7 호환 모드로 들어 가지 않도록 강제합니까?

위의 줄을 내 코드에 넣고 IE 9-> 도구-> 호환성보기 (회색으로 표시됨)로 이동했습니다.

그러나 "호환성보기 설정"이 회색으로 표시되지 않았으며 거기를 통해 사이트를 추가 할 수있는 것 같습니다.

그렇다면 비활성화되지 않아야합니까?


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

페이지가 IE8 표준으로 렌더링되도록해야합니다. 사용자는 사이트를 호환성 목록에 추가 할 수 있지만이 태그가 우선합니다.

확인하는 빠른 방법은 페이지를로드하고 주소 표시 줄에 다음을 입력하는 것입니다.

javascript:alert(navigator.userAgent) 

문자열에 IE7이 표시되면 호환성 모드로로드되고 그렇지 않으면로드되지 않습니다.


IE에서 CM을 강제로 비활성화하기 만하면됩니다.이 코드를 붙여 넣기 만하면됩니다 (IE9에서는 cm 아래에서 비활성화 됨).

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

출처 : http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html


이것은 IE사용자가 모든 IE버전 에서 호환성 모드 를 강제 로 삭제 하도록하기에 충분합니다 .

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

그러나 알아야 할 몇 가지주의 사항이 있습니다.

  • 위의 메타 태그는 아래의 첫 번째 태그<head> 로 포함되어야합니다 . <title>태그 만 그 위에 배치 할 수 있습니다.

그렇게하지 않으면 IE9개발자 도구 에서 오류가 발생합니다 .X-UA-Compatible META tag ignored because document mode is already finalized.

  • 이 마크 업의 유효성을 검사하려면 . 대신으로 meta태그 를 닫아야합니다 ./>>

  • 로 시작 IE11하면 가장자리 모드가 기본 문서 모드입니다. 이를 지원 / 활성화하려면 HTML5 문서 유형 선언을 사용하세요 <!doctype html>.

  • 에서 웹 글꼴을 지원해야하는 IE7경우 <!DOCTYPE html>. 나는 그것을 테스트 한 결과 .NET을 IE7사용할 때 웹 글꼴 렌더링 이 상당히 불안정 하다는 것을 알았습니다 <!doctype html>.

구글 크롬 프레임의 사용은 인기가 많지만 안타깝게도 이달 인 2014 년 1 월에 중단 될 예정입니다.

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

여기에 광범위한 관련 정보가 있습니다 . 첫 번째 메타 태그로 사용하는 방법에 대한 팁은 이전에 언급 한 소스에 있습니다 .


ASP.NET MVC를 사용하는 경우 Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")_Layout의 코드 블록에서 잘 작동하는 것을 발견 했습니다.

@Code
    Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")
End Code
<!DOCTYPE html>
everything else

FelixFett의 답변이 저에게 효과적이었습니다. 다시 말하면 :

<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=EDGE" />

내 코드의 첫 번째 '메타'태그로 있습니다. Internet Explorer 용으로 현재 게시 된 버전이므로 10과 11을 추가했습니다.

나는 그의 대답에 대해 방금 언급했지만 나는 충분히 높은 평판을 얻지 못했습니다.


Apache에서이를 달성하는 또 다른 방법은 .htaccess웹 사이트의 루트 폴더 (또는 Apache의 구성 파일)에 다음 줄을 넣는 것 입니다.

BrowserMatch "MSIE" isIE
BrowserMatch "Trident" isIE
Header set X-UA-Compatible "IE=edge" env=isIE

이를 위해서는 mod_headersmod_setenvif모듈이 활성화되어 있어야합니다 .

추가 HTTP 헤더는 IE 브라우저로만 전송되고 나머지는 전송되지 않습니다.


JSF에서는 다음을 사용했습니다.

<h:head>
    <f:facet name="first">
        <meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
    </f:facet>

    <!-- ... other meta tags ... -->

</h:head>

Adding a tag to your page will not control the UI in the Internet Control Panel (the dialog that appears when you selection Tools -> Options). If you're looking at your homepage which could be google.com, msn.com, about:blank or example.com, the Internet Control Panel has no way of knowing what the contents of your page may be, and it will not download it in the background.

Have a look at this document on MSDN which discussed compatibility mode and how to turn it off for your site.

참고URL : https://stackoverflow.com/questions/6348959/how-to-disable-compatibility-view-in-ie

반응형