2011-10-27 3 views
15

플로팅 라이브러리 Flot을 사용하고 있습니다. 그것은 IE8과 IE9에서 잘 작동하는 것으로 보이지만 IE9 호환성보기에서는 문제가 발생합니다. 그래프를 렌더링하지 않습니다. 이 HTML5 canvas 개체 때문에 많이 사용하지만 용의자가 잘못 될 수 있습니다 용의자. 나는 다음과 같은 일을 시도 :호환성보기를 제거 할 수 없습니까?

  • 추가 : <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 내 HTML <head></head> 태그에. 심지어 IE=8IE=9을 시도했는데 그 중 하나도 도움이되지 않았습니다. 이 같은 내 태그보기는 :

    void Application_End(object sender, EventArgs e) 
    { 
        // Code that runs on application shutdown 
        Response.Headers.Add("X-UA-Compatible", "IE=Edge"); 
    } 
    

I :

<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.1EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <meta http-equiv="X-UA-Compatible" content="IE=8" /> 
    ... 
</head> 
<body> 
... 
</body> 
</html> 
  • 난 여전히 문제를보고 있었기 때문에, 나는 내 Global.asax.cs 파일에 다음과 같은 추가 여전히 문제에 직면 해있다. 내가 얻는 오류는 다음과 같습니다.

    HTML1202: http://intranetdomain/SampleProj/Default.aspx is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked. 
    Default.aspx 
    HTML1113: Document mode restart from IE7 Standards to IE9 Standards 
    Default.aspx 
    

    어쨌든 이것을 타고 있습니까?

    EDIT : 내 응답 헤더를 확인하고 그 줄을 Global.asax.cs에 추가하면 헤더에 추가되지 않았습니다. 이유가 궁금합니다.

    응답 헤더 :

    Key Value 
    Response HTTP/1.1 200 OK 
    Cache-Control private 
    Content-Type text/html; charset=utf-8 
    Server Microsoft-IIS/7.5 
    X-AspNet-Version 4.0.30319 
    X-Powered-By ASP.NET 
    Date Thu, 27 Oct 2011 20:39:55 GMT 
    Content-Length 29088 
    

    편집 2 : 분명히, Application_End 잘못된 사건이었다. 대신, 다음과 같이 헤더에 요소를 삽입합니다.

    void Application_BeginRequest(object sender, EventArgs e) 
    { 
        Response.Headers.Add("X-UA-Compatible", "IE=Edge"); 
    } 
    

    그러나 문제 자체는 여전히 유지됩니다.

  • +1

    시도 했습니까? IE는 메타 태그 목록에서 처음 발생하는 경우에만 이에 응답하는 것으로 보입니다. – SliverNinja

    +0

    @SliverNinja : 예. 첫 번째 태그로 사용했습니다. 또한 사용중인 정확한 마크 업과 함께 내 질문을 업데이트했습니다. – Legend

    +0

    그때 인기있는 피드백 (http://stackoverflow.com/questions/637039/how-to-avoid-ie8-compatibility-button)에 따라 작동해야합니다. – SliverNinja

    답변

    28

    문제는 Internet Explorer 호환성보기 설정 때문일 수 있습니다. "도구"메뉴에서 "호환성보기 설정"으로 이동 한 경우 "호환성보기에서 인트라넷 사이트 표시"가 이 아니고이 아닌지 확인하십시오. IE에서 호스트 이름이 인트라넷에있는 것으로 감지되면 호환성보기로 전환됩니다.

    IE의 버전에 따라 도구 모음 메뉴를 열 수있는 메뉴 모음을 표시하려면 왼쪽 Alt 키를 눌러야 할 수도 있습니다.

    +0

    예 사실이 경우입니다.이 설정을 직접 변경할 수 있지만이 설정을 재정의하려고합니다. (별로 이해가되지 않지만)이 모드는 다음과 같은 이유로 검사 할 수 없습니다. if ($ .browser.msie && parseInt ($. browser.version)! = 9) {alert ("Not IE9!"}'IE9가 호환 모드에 있다는 사실을 알아 채지 못합니다 .. – Legend

    +1

    호환성을 재정의 할 수 있다고 생각하지 않습니다. http://stackoverflow.com/questions/3726357/why-does-ie9-switch-to-compatibility-mode-on-my-website/3726605#3726605에 대한 의견을 참조하십시오. – Jacob

    +1

    로컬로 실행중인 경우 당신은 당신의 호스트 파일을 통해 '생생한'URL을 스푸핑하고 사이트가 인터넷 사이트라고 생각합니다. – sidonaldson

    0

    이상한 일은 - runat="server"을 삭제하면 meta 태그가 작동하고 버튼이 사라집니다. B 물론, runat은 삭제하지 않는 것이 좋습니다.

    3

    IIS에서 직접 호환성 설정을 지정할 수 있습니다. 사이트를 클릭하고 응답 헤더를 열면 IE = X의 값으로 X-UA 호환을 추가 할 수 있습니다. 여기서 X는 대상 버전입니다. 서버 수준에서도이 값을 설정할 수 있습니다. 하지만 동일한 상자에 여러 사이트가있는 경우 해당 사이트에서 문제가 발생할 수 있습니다. 서버 수준에서 적용한 다음 상속 된 구성을 사이트 수준에서 삭제할 수도 있습니다.

    +1

    이것은 사이트가 인트라넷 사이트라고 생각하는 IE를 무시할 수 없습니다! – sidonaldson

    +1

    이것은 나를 위해 일했습니다. JQuery 2를 사용하여 사이트를 개발하기 위해 IIS Express를 로컬로 사용하고 있습니다. IE 10이 로컬 사이트의 기본값 인 것처럼 보이는 IE 7 모드와 호환되지 않습니다. 구성 파일 % UserProfile % \ My Documents \ IISExpress \ config \ applicationhost.config를 열고 을 추가하십시오. http://msdn.microsoft.com/en-us/library/jj676913(v=vs.85).aspx –

    2

    2 년 후, IE의 두 가지 새로운 버전이 IE8 문제는 여전히 문제를 일으키는 중입니다!

    우리 회사의 ASP.Net 응용 프로그램의 경우 web.config, 웹 페이지 또는 코드 뒤에 "X-UA 호환"을 추가하면 전혀 차이가 없습니다. 우리를 위해 일

    있는 유일한 방법은 수동으로 체크 상자를 "호환성보기에서 표시 인트라넷 세트"unticking했다 : 당신은` 후 첫 태그로 추가 '를

    Turn off Display intranet sets in Compatibility View

    +0

    같음 ... 모든 사용자가이 확인란의 선택을 취소하지 않도록하려면 :( –

    관련 문제