doctype
Internet Explorer가 이전 브라우저 버전을 에뮬레이트하지 않도록 강제하기 위해 아래 html5 및 Edge 호환성 메타 태그를 사용하고 있었기 때문에 6 개월 이상 인트라넷 웹 사이트에서 작업 해 왔습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>My title</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
</head>
<body>
</body>
</html>
내가이 방법을 사용하는 이유는 내가 일하는 곳에서 정책 설정을 사용하여 모든 인트라넷 사이트에 대한 호환성보기를 활성화하고이 EDGE
설정을 사용한이 접근 방식이 Internet Explorer 9에서 작동했기 때문 입니다.
한 달 전에 Internet Explorer 11로 업그레이드했지만 사이트는 여전히 예상대로 작동했습니다.
오늘 이것은 예상대로 작동을 멈췄습니다. 확실히 말할 수는 없지만 IE11에서는 호환성보기를 강제하는 정책이 활성화되지 않았고 지금은 …라고 생각합니다.이 기능이 활성화되었으므로 호환성 메타 태그는 더 이상 없습니다. 이 사이트는 IE8을 에뮬레이트하는 엔터프라이즈 모드에서 실행되고 있습니다.
누구든지이 문제를 해결하고 호환성 “엔터프라이즈 모드”가 적용될 때 인트라넷 사이트에서 IE11을 강제로 사용하는 방법을 알고 있습니까? 브라우저 설정을 통해 비활성화 할 수 없습니까?
편집하다
이 답변 https://stackoverflow.com/a/18257208/98706에 설명 된대로 web.config에 사용자 지정 헤더를 추가하려고했습니다.
그리고 이것은 나를 위해 작동하지 않았습니다. 개발자 툴바 콘솔에 여전히 아래 메시지가 나타납니다.
HTML1122: Internet Explorer is running in Enterprise Mode emulating IE8.
edge
IE11에서이 인트라넷 호환성 설정이 활성화 된 경우 버전 8이 처리되는 것과 같습니다.
이 게시물 : https://www.leapinggorilla.com/Blog/Read/1016/ie-ate-my-css—disabling-compatability-mode
는 이것을 잘 설명합니다 . 아직 코드를 통해이 헤더를 설정하려고 시도하지 않았습니다. 사용자는 브라우저 설정을 변경할 권한이 없습니다. 다른 변경 사항은 아직 작동하지 않았습니다.
최신 정보
중요하기 때문에 엔터프라이즈 모드와 호환성 모드의 차이점에 대한이 게시물에 대한 내 의견을 참조하십시오.
답변
다음 사항을 확인하십시오.
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta>
페이지 의 첫 번째 태그입니다. 그렇지 않으면 IE가이를 존중하지 않을 수 있습니다.
또는 IE 가이 웹 사이트에 대해 엔터프라이즈 모드 를 사용하고 있다는 것이 문제 일 수 있습니다 .
답변
이 문제는 일반적으로 다음 중 하나에있는 웹 사이트 / 인트라넷 URL로 인해 발생합니다.
- 호환 모드 목록
- Internet Explorer 인트라넷 영역
( 호환성보기에서 인트라넷 사이트 표시 설정 사용) - 엔터프라이즈 모드 목록
회사 네트워크에서 이러한 호환성보기 설정은 종종 그룹 정책을 통해 중앙에서 제어 됩니다. 귀하의 경우 엔터프라이즈 모드 가 범인으로 보입니다.
불행히도 META 설정 X-UA-Compatible
은 이것을 무시하지 않습니다 .
최종 사용자 용
때때로 최종 사용자가이 메소드를 오버라이드 (override) 할 수있는 유일한 방법은 F12 키를 눌러로하고 변경 문서 모드 세 이하 에뮬레이션 탭. 그러나이 설정은 영구적이지 않으며 개발자 도구를 닫으면 되돌릴 수 있습니다.
인트라넷 영역에서 사이트를 제외 할 수도 있습니다. 그러나 인트라넷 영역에 속하는 도메인 목록도 일반적으로 그룹 정책에 의해 제어되므로이 작업의 가능성은 적습니다.
인트라넷 영역에 속하는 도메인 목록을 보려면 다음으로 이동하십시오.
도구-> 인터넷 옵션-> 보안-> 사이트-> 고급
목록에 하위 도메인이 포함되어 있고 회색으로 표시된 경우 네트워크 관리자가 허용 할 때까지 호환성보기를 재정의 할 수 없습니다.
그룹 정책에서 호환성보기 설정 변경을 허용하려면 네트워크 관리자에게 문의해야합니다.
네트워크 관리자 용
개발자 도구가 열린 상태 (F12)로 웹 사이트를로드하면 IE가 이전 모드로 전환하는 이유가 자주보고됩니다.
위에서 언급 한 세 가지 설정은 모두 일반적으로 그룹 정책을 통해 제어되지만 때로는 사용자 컴퓨터에서 재정의 될 수 있습니다.
경우 엔터프라이즈 모드는 문제가 (이 나타납니다 원래 포스터의 경우 가능하도록)이며, 다음과 같은 두 가지 기사가 도움이 될 수 있습니다 :
- Internet Explorer 11의 엔터프라이즈 모드를 활성화하고 사용하는 방법 [HowToGeek]
- 엔터프라이즈 모드를 켜고 사이트 목록 사용 [TechNet]
답변
ASP.NET MVC 프로젝트를 빌드하는 경우 다음을 추가해야합니다.
<meta http-equiv="X-UA-Compatible" content="IE=edge">
레이아웃 (템플릿) 페이지에 태그를 추가합니다. 나는 단지 2 시간 동안 디버깅과 조정을했는데, 그 메타 태그 만 자식 페이지에 추가했다는 것을 깨달았습니다. 레이아웃 페이지에 추가하자마자 브라우저가 EDGE 모드로 완벽하게로드되었습니다.
답변
표시된 답변이 정답입니다. 그러나 Pricey, AD 및 데스크톱 관리자 그룹과 함께 후속 조치를 취해야합니다. IE11 엔터프라이즈 모드 사이트 목록을 오용하고 있습니다. Microsoft는 조직 내의 모든 인트라넷 사이트에 사용하도록 의도하지 않았습니다. 이는 전 세계 기업 웹 사이트 발전의 골칫거리 인 기존의 “호환성 모드로 모든 인트라넷 사이트 렌더링”설정을 전파하는 것입니다.
이는 렌더링 요구 사항이 지정된 엔터프라이즈 모드 목록에 실제로 레거시 브라우저 모드가 필요한 소수의 사이트와 함께 “블랙리스트”로 구현하기위한 것입니다. 그러면 조직의 다른 모든 사이트에서 Edge를 사용할 수 있습니다. 시작하기 위해 포함 된 모든 인트라넷 사이트와 함께이를 구현 한 조직의 사람들은 엔터프라이즈 모드가 구현되는 방식을 완전히 오해했습니다.
답변
질문은 조금 오래되었지만 매우 유사한 문제를 해결했습니다. 여기에는 내가 담당하는 사이트를 포함하여 여러 인트라넷 사이트가 있으며 다른 사이트는 호환 모드가 필요하거나 중단됩니다. 따라서 사이트 규칙은 IE를 인트라넷 사이트의 호환성 모드로 기본 설정합니다. 내 물건을 업그레이드하고 있으며 더 이상 필요하지 않습니다. 사실, 제가 사용하려는 기능 중 일부는 호환 모드에서 제대로 보이지 않습니다. 나는 당신처럼 메타 IE-Edge 태그를 사용하고 있습니다.
IE는 정규화 된 주소가없는 웹 사이트가 인트라넷이라고 가정하고 그에 따라 작동합니다. 이를 염두에두고 IIS의 바인딩을 변경하여 정규화 된 주소 만 수신 한 다음 정규화되지 않은 주소를 수신하는 더미 웹 사이트를 설정했습니다. 두 번째는 모든 트래픽을 정규화 된 주소로 리디렉션하여 IE가 외부 사이트라고 믿게 만듭니다. 인트라넷 사이트의 호환성 모드 확인란을 선택하거나 선택하지 않고 사이트가 올바르게 렌더링됩니다.
답변
이것은 좋은 정보가있는 오래된 문제입니다. 하지만 방금 찾은 것은 FQDN을 사용하면 IE 9-11에서 Compat 모드가 해제된다는 것입니다. 예.
http : // lrmstst01 : 8080 / JavaWeb / login.do에
호환성 문제가
있지만
http://lrmstst01.mydomain.int:8080/JavaWeb/login.do
에서는 문제가 사라집니다.
NB : .int는 내부 도메인
답변
신뢰할 수있는 사이트 목록이나 로컬 설정에 추가하여 신뢰할 수있는 사이트 영역으로 이동합니다. 그러면 인트라넷 영역 밖으로 이동하고 Compat에서 렌더링되지 않습니다. 전망.