그러냐

WebBrowser Control에서 웹페이지 IE9 호환모드(Compatible Mode)로 설정하기 본문

c#

WebBrowser Control에서 웹페이지 IE9 호환모드(Compatible Mode)로 설정하기

관절분리 2016. 1. 28. 11:25
반응형
원문 http://monkeychoi.blog.me/60135372411

C# WebBrowser Control로 브라우저를 만들고 HTML5로 만든 간단한 Video 재생하는 웹페이지를 만들어서 실행했는데 제대로 실행되지 않는 현상이 있었다

물론 당연히 PC에는 IE 9가 설치되어 있고 해당 웹페이지를 IE 9로 바로 열었을 때는 제대로 실행이 되는 모습을 보였다

 

WebBrowser Control도 PC에 설치되어 있는 IE 9를 이용할 것이라는 당연한 생각이 빗나가는 부분이다

 

왜 이런 현상이 나타날까 ?

 

여러가지 검색해본 결과 웹브라우저의 문서 호환 모드와 연관이 있었다.

 

즉 C# WebBrowser Control 이 IE 9 호환모드로 동작하지 않는다는 문제이다

보통 이런 문서의 모드는 <!DOCTYPE> 선언문에 의해 결정되는데 HTML 5 문서의 경우  <!DOCTYPE html> 로 시작하고 F12를 눌러 개발자도구 우측 상단에도 IE 9 표준으로 표시가 된다(만약 DOCTYPE 선언을 하지 않는다면 쿼크 모드로 동작으로 하게 된다)

 

하지만 DOCTYPE를 제대로 선언해도 WebBrowser Control 이 이를 제대로 반영을 못하는 문제가 있는거 같다.

 

그래서 이와 같은 문제가 발생할 경우 아래와 같은 meta 태그를 추가해서 해결을 할 수 있다

 

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

 

이 태그를 삽입한 후 다시 테스트 하면  WebBrowser Control 에서 정상적으로 실행되는 것을 볼 수 있다.

 

<참고문서들>

http://stackoverflow.com/questions/4097593/how-to-put-the-webbrowser-control-into-ie9-into-standards

http://msdn.microsoft.com/en-us/library/cc817574.aspx

 

[참고]

현재 문서모드를 자바스트립트로 확인 할 수 있는 방법이 있다

alert(document.documentMode) 를 찍어보면 숫자가 표시되는데 그것이 IE 버전이라고 보면 된다

 

 

반응형

'c#' 카테고리의 다른 글

c# - exel write시 셀서식 지정  (0) 2016.01.28
C#– Windows 환경에 따른 Control Layout 불일치  (0) 2016.01.28
c# 이미지 반투명  (0) 2016.01.28
이미지 회전  (0) 2016.01.28
php md5() 함수와 동일한 기능의 C#함수  (0) 2016.01.28