3

시나리오호환성 인터넷 익스플로러 10/11 문제와 오래된 .NET 프레임 워크 1.1 웹 사이트

나는 그물 (프레임 워크 1.1)에서 개발 된 아주 오래된 웹 사이트가있다. 이 사이트에는 호환성보기를 사용하여 수정할 수있는 Internet Explorer 10/11의 몇 가지 문제가 있습니다.

문제는

문제는 프레임 워크 1.1, 고급 기능을 브라우저로 (자바 스크립트 코드 예를 들어) 기능이 너무 많은 인터넷 익스플로러 10/11을 인식하지 않는다는 것입니다 사용할 때 인터넷이있는 사용자 Explorer 10/11에서 웹 사이트에 액세스합니다.

Microsoft는 .net 프레임 워크 버전 2.0 이상에서는이 문제를 해결하기위한 패치를 출시했지만 프레임 워크 1.1에서는 적용하지 않았습니다. 나는 이미 시도 무엇

  1. 내가 Web.config의에서 IE7 호환성 모드를 강제하거나 함께 HTML 페이지 내에서 직접 IIS에서 HTTP 헤더를 추가하거나 시도 :

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

    을하지만, 이것이 1.1 프레임 워크 문제로 인해 자바 스크립트 코드가 아직 없기 때문에 유효한 해결책은 아닙니다.

  2. 내가 찾은 유일한 해결책은 브라우저에서 수동으로 호환성보기를 설정하는 것이지만 일부 고객은 PC에 대한 확신이 없기 때문에 호환보기를 활성화하는 데 문제가 있습니다.

내 두 센트 아마 최고의 솔루션 프레임 워크 (> = 2.0)의 최신 버전으로 전체 프로젝트를 변환하는 것입니다 알고

, 불행하게도이 프로젝트는 거대하고 그 변환

(... 해결책은 다른 프로젝트의 많은 오래된 고전적인 ASP 섹션, 크리스탈 등등 보고서를 보고서 등이 포함됩니다) 진짜 문제

매우 복잡 할 것

최종 사용자가 프로젝트 변환이나 수동 작업을 필요로하지 않는 솔루션이 있습니까?

+2

작동 여부는 확실치 않지만 링크 버튼 등의 문제를 해결하는 IE10 용 appBrowsers 파일이 있습니다. 프로젝트가 가져갈 수있는 경우 추가 할 수 있습니다. http://fkauffmann.blogspot.ie/2012/01/aspnet-fails-to-detect-ie10-causing.html –

+1

'appBrowsers'가 작동하지 않으면'browserCaps'를 살펴 보길 원할 것입니다 : [MSDN에서] (http://msdn.microsoft.com/en-us/library/sk9az15a (v = vs.71) .aspx) –

+4

프로젝트는 8 살이며 업데이트되지 않았습니까? 업데이트하는 것이 복잡한 프로젝트라는 것을 알았지 만, 어제는 사용되지 않는 것이 아닙니다 _... –

답변

1

를 참조하시기 바랍니다.

이 작업을 수행하려면 this MSDN 페이지를 따르십시오. 다음은 발췌 부분입니다.

.NET Framework 4에서 실행되도록 응용 프로그램의 타겟을 지정할 수 있습니다.리 타겟팅 당신이 4. 이러한 구성 파일은 다음과 같은 형식을 취은 .NET 프레임 워크에서 실행할 수있는 응용 프로그램의 구성 파일에 요소를 추가해야합니다 :

그래서 내 문제는 2 단계에서 해결
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 

:

  1. 프레임 워크 1.1 웹 응용 프로그램의 web.config 파일에이 섹션을 추가 : IIS에서

    <configuration> 
        <startup> 
         <supportedRuntime version="v4.0"/> 
        </startup> 
    </configuration> 
    
  2. 이를 만들 새 응용 프로그램 풀을 만들고 이전 프레임 워크 1.1 웹 응용 프로그램을 새로 만든 풀에서 Framework 4.0을 실행하도록 구성하십시오.

응용 프로그램이 Framework 4.0에서 실행되므로 새 브라우저가 올바르게 인식되고 고급 기능을 사용할 수 있습니다.

1

첫 번째 : X-UA 호환 태그는 < head> 섹션의 첫 번째 태그 여야합니다. 완전히 페이지가 또한 XML 선언에서 같은 힘 호환성 모드 또는 퍼팅 뭔가 도움이 알려져있다로부터는 "DOCTYPE"제거, 또한

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

:

쿼크 모드를 허용하는 에뮬레이션 옵션을 사용해보십시오 상단

<?xml version="1.0" encoding="UTF-8"> 
2

웹 편집.설정 파일과 <system.web> 섹션에서 바로이를 위해 IIS를 구성하려고

<browserCaps> 
     <case match="IE[ /](?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))"> 
      browser=IE 
      version=${version} 
      majorversion=${major} 
      minorversion=${minor} 
      frames=true 
      tables=true 
      cookies=true 
      javascript=true 
    javaapplets=true 
      activexcontrols=true 
      ecmascriptversion=1.5 
      vbscript=true 
      backgroundsounds=true 
      isMobileDevice="true" 
      <filter match="[4-9]" with="${major}"> 
       ecmascriptversion=1.3 
       css1=true 
       css2=true 
       xml=true 
       <filter match="[5-9]" with="${major}"> 
        w3cdomversion=1.0 
       </filter> 
       </filter> 
       <filter match="^b" with="${letters}"> 
       beta=true 
      </filter>                
     </case></browserCaps> 
+1

좋은 해결책. 1.1 응용 프로그램에서 작동합니다. 재 컴파일이 필요 없습니다. – Sheepy

+0

.Net 2.0 프로젝트에서 작동하지 않습니다. –

1

를 추가 -

사용자 지정 HTTP 응답 헤더를 추가하려면

IIS에서 사용자 지정 HTTP 응답 헤더 추가 웹 사이트 수준, 폴더 수준 또는 IIS의 가상 디렉터리 수준에서 사용중인 IIS 버전에 대한 단계를 수행하십시오.

Windows Server 2008 기반 웹 서버

  1. 시작 IIS 관리자에서 IIS 7. 이렇게하려면 시작을 클릭하고 실행을 inetmgr, 입력 한 다음 확인을 클릭하십시오.
  2. 연결에서 원하는 서버를 두 번 누른 다음 사이트를 두 번 누릅니다.
  3. 사용자 지정 HTTP 응답 헤더를 추가하려는 웹 사이트, 폴더 또는 가상 디렉터리를 클릭하십시오.
  4. 가정에서 IIS 섹션의 HTTP 응답 헤더를 두 번 클릭하십시오. 참고 자리 표시 자 웹 사이트의 이름을 나타냅니다.
  5. 작업에서 추가를 클릭합니다.
  6. 이름 상자에 X-UA 호환을 입력하십시오.
  7. 값 상자에 IE = EmulateIE7을 입력하십시오.
  8. 확인을 클릭하십시오.

6 개 및 이전 버전

  1. 시작, 실행을, 열기 상자에서 inetmgr.exe를 입력 한 클릭 한 다음 클릭 확인을 IIS.
  2. 원하는 서버를 확장 한 다음 웹 사이트를 확장하십시오.
  3. 웹 사이트, 폴더 또는 가상 디렉터리를 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
  4. HTTP 헤더 탭에서 사용자 지정 HTTP 헤더 아래에있는 추가를 클릭하십시오.
  5. 사용자 지정 헤더 이름 상자에 X-UA 호환을 입력합니다.
  6. 사용자 지정 헤더 값 상자에 IE = EmulateIE7을 입력합니다.
  7. 확인을 두 번 클릭하십시오. 기본적으로 내가 응용 프로그램이 여전히 프레임 워크 1.1을 컴파일하는 동안 프레임 워크 4.0에서 실행하는 내 응용 프로그램의 대상을 :

자세한 내용을 위해 내가 해결책을 찾기 위해이 관리 link