Programing

인트라넷에서 "Internet Explorer 8"브라우저 모드 강제 실행

lottogame 2020. 11. 2. 07:37
반응형

인트라넷에서 "Internet Explorer 8"브라우저 모드 강제 실행


IE8에는 "Internet Explorer 8", "Internet Explorer 8 호환 모드"및 IE7 모드가 있습니다.

그러나 IE의 기본 설정은 모든 인트라넷 웹 사이트에서 "IE8 호환 모드"를 사용하도록합니다. doctype, 메타 태그, http 헤더를 IE8 모드로 강제 설정하도록 설정 한 경우에도 마찬가지입니다.

나는 가지고있다

<! DOCTYPE HTML PUBLIC "-// W3C // DTD HTML 4.01 Transitional // EN" " http://www.w3.org/TR/html4/loose.dtd ">

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

그러나 IE 설정을 변경하지 않고 "IE8 호환 모드"로 전환됩니다.

브라우저 설정을 변경하지 않고 순수 "IE8"모드로 강제하는 방법은 무엇입니까?

추신. 여기서 "문서 모드"를 말하는 것이 아닙니다.


MSFT는 내부에서 실행되는 다양한 웹 응용 프로그램이있는 대규모 인트라넷 환경을 고려하지 않은 것 같습니다.

MSDN 포럼에서 읽은 어딘가에 따르면 IE8 설정을 우회 할 방법이 없습니다.

따라서 시스템 관리자에게 "호환성보기"설정과 값을 변경하고 사용자가 값을 변경하지 못하도록하는 몇 가지 새로운 그룹 정책을 적용 해달라고 부탁해야합니다. MSFT가이 버그를 발견하고 수정할 때까지 말입니다.

에서 MSDN 블로그 게시물 (강조는 그들의) " 모드는 IE 전에 선택 브라우저는 웹 컨텐츠를 요청 하는 것이이 의미합니다. 사이트는 브라우저 모드를 선택할 수 없습니다 ."


인트라넷에서 호환성 모드를 재정의 할 수 있습니다. web.config에 아래 코드를 추가하기 만하면됩니다. IE9에서 나를 위해 일했습니다.

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


IE를 약간 조정해야합니다.

여기 있습니다.....

인터넷 옵션 / 로컬 인트라넷 / 사이트에서

아래 : 사이트 내 로컬 인트라넷에서 "인트라넷 네트워크 자동 감지"를 선택 취소합니다.

그런 다음 "모든 네트워크 경로 (UNC) 포함"만 선택하십시오.

첨부 된 스크린 샷보기

스크린 샷


여기에서 답을 찾기가 어려웠으므로 여기에 중요한 정보가 있습니다.

인트라넷에서 IE에 대한 기본 설정을 사용하는 경우 웹 사이트 설정에 관계없이 인트라넷 사이트에 IE7 표준 모드가 적용됩니다.

에서 :

호환성보기 및 엔터프라이즈

오늘날 많은 LOB (기간 업무) 웹 사이트에서 Internet Explorer 7을 사용할 수 있습니다. 호환성을 유지하기 위해 Internet Explorer 8은 영역 평가에 기반한 스마트 기본값과 함께 제공됩니다. 기본 상태에서 공용 인터넷의 모든 사이트는 Internet Explorer 8 표준 모드 (호환성보기 꺼짐)로 표시 되고 모든 인트라넷 웹 사이트는 Internet Explorer 7 표준 모드 (호환성보기 켜짐)로 표시됩니다.

몇 가지 예를 살펴 보겠습니다. 당신은 같은 로컬 인트라넷 사이트로 이동하는 경우 // myPortal : HTTPHTTP : // 셰어 / 사이트 /하더라도 mySite , 인터넷 익스플로러 '7'의 '7'버전 벡터의 사용자 에이전트 문자열 8 식별 자체 및 표시 Internet Explorer 7 표준 모드에서 표준 모드를 ​​트리거하는 웹 페이지. 이 조합을 사용하면 Internet Explorer 7에서 올바르게 작동하는 웹 페이지가 IE8에서도 계속 작동 할 수 있습니다.


인트라넷 또는 모든 웹 사이트에 대한 호환성보기 설정을 재정의하려면 IE8이 자체적으로 에뮬레이트되도록해야합니다.

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

섹션 <meta...에서 를 사용하는 대신 사용자 지정 HTTP 헤더를 설정합니다 <head>. 이것들은 동일해야하지만 X-UA-Compatible서버 HTTP 헤더가 IE 8의 "호환성보기에서 인트라넷 사이트 표시"설정을 무시 하는 것으로 나타났습니다 <meta.... 여기서 요소는 그렇지 않습니다.


.NET을 사용하는 경우 답이 있습니다.

HTML :

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=8" >

Web.Config :

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

DOCTYPE 선언이 맨 처음 행 이어야한다는 것을 어딘가에서 읽으십시오 . 어떤 종류의 주석도없고 빈 줄도 없습니다.

HTTP 응답 헤더 설정과 함께 이것은 저에게 효과적이었습니다. Browser Mode"IE9 호환 모드"에서 "IE9 모드"로 변경되었습니다.


HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ BrowserEmulation IntranetCompatibilityMode 1-> 0


In order for the META declaration to work, the doctype has to be the simplified version:

<!DOCTYPE html>

Not the longer statement in Dennis' question.


This combo did the trick for me:

<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
</HEAD>

at least IE developer tools reports IE9 Compat View, IE8 standards

just for kicks i tried EmulateIE7 and that worked as well. simplifying the extended !DOCTYPE was key.


You need remove port number from your domain site name site:1180/index/

If browser see port number in url - hi "think", that's is intranet.

setup your dns server for friendly urls - site.com/index and it work OK


"정답"으로 표시된 대답은 기술적으로 정확하지만 대부분의 사람들이 직면하고있는 실제 문제에 대한 해결책이 없음을 시사합니다. "IE8에서 호환 모드가 활성화 된 상태에서 지원하지 않는 웹 응용 프로그램을 올바르게 표시하는 방법 호환 모드?".

<!DOCTYPE HTML>
<HEAD>
    <meta http-equiv="X-UA-Compatible" content="Edge" >
</HEAD>

이것은 여러 워크 스테이션에서 나를 위해 일했습니다.

위의 코드가 응용 프로그램 측에서 구현되면 IE8은 브라우저 모드를 호환 모드로 표시하더라도 호환 모드가 아닌 것처럼 작동합니다.

참고 URL : https://stackoverflow.com/questions/2742853/force-internet-explorer-8-browser-mode-in-intranet

반응형