티스토리 뷰
반응형
WPF의 WebBrowser Control은 기본적으로 IE7을 기준으로 화면을 렌더링 합니다. IE7은 HTML5, CSS3 해석 과 더불어 Rendering에 있어 차이가 있기 때문에 IE7 이상의 버전으로 렌더링이 필요한 경우가 있습니다.
다행히도 Registry설정을 통해 WPF Application에서 사용할 Brower Version 및 Mode를 통제할 수 있습니다. 이 설정은 개별 Application마다 각각 적용되며, 전역설정은 없습니다. Registry를 등록하는 방법은 2가지로 구분되는데, 현재 사용자에게만 적용되게 하거나 모든 사용자에게 적용되는 설정으로 나누어집니다.
현재 사용자에게 적용
이 설정은 현재 로그인 된 사용자에게만 적용되는 방법입니다. 이 방법은 단순하고 관리자 권한이 불필요한 방법입니다. 즉, 관리자 계정으로 로그인하거나 Application을 재설치하는 등의 방법이 불필요합니다. 단지 Registry 등록 후 Application을 재시작해주면 변경사항이 반영됩니다.
Registry를 실행하고 다음 경로를 따라간 후 값을 설정합니다.
- 경로: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
- 값: DWORD YourApplication.exe
전체 사용자에게 적용
32bit 혹은 64bit 환경에 따라 설정이 달라집니다.
32bit 혹은 64bit 전용 Application
- 경로: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
- 키값: DWORD YourApplication.exe
64bit 환경에서 32bit 모드로 실행되는 경우
- 경로: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
- 키값: DWORD YourApplication.exe
키 데이터
키의 데이터는 다음과 같이 할당해줍니다.
- 11001 (0x2EDF) !DOCTYPE 선언과 상관없이 IE11 edge로 출력
- 11000 (0x2AF8) standards-based !DOCTYPE 선언이 있을 경우 IE11 edge로 출력
- 10001 (0x2AF7) !DOCTYPE 선언과 상관없이 IE10 Standards mode로 출력
- 10000 (0x2710) standards-based !DOCTYPE 선언이 있을 경우 IE10 Standards mode로 출력
- 9999 (0x270F) !DOCTYPE 선언과 상관없이 IE9 Standards mode로 출력
- 9000 (0x2328) standards-based !DOCTYPE 선언이 있을 경우 IE9 mode로 출력
- 8888 (0x22B8) !DOCTYPE 선언과 상관없이 IE8 Standards mode로 출력
- 8000 (0x1F40) standards-based !DOCTYPE 선언이 있을 경우 IE8 Mode로 실행
- 7000 (0x1B58) standards-based !DOCTYPE 선언이 있을 경우 IE7 Standards mode로 실행
적용 전 고려사항
- IE Version에 따라 Rendering방법이 달라지기에 HTML도 변경되어야 할 수 있습니다.
- BrowserControl에서 HTML을 제어하기 위해 제공하는 COM Interaface도 변경됩니다. 따라서 기존 IE7을 사용하는 Application을 IE9으로 변경하면, 내부의 COM Interface 코드 및 로직을 다시 작성하거나 테스트하여야 합니다.
- 사용자 환경에 해당 IE가 설치되지 않았다면 기본 Rendering Mode(IE7)으로 실행될 것입니다.
'Windows App' 카테고리의 다른 글
[WPF] Internet Explorer 실행 (0) | 2024.07.22 |
---|---|
[WinUI3] Unpackaged App + Administrator 권한으로 실행 (1) | 2024.07.19 |
[C#] INotifyPropertyChanged 손쉽게 작성하기 (0) | 2023.05.19 |
댓글
최근에 올라온 글
최근에 달린 댓글
TAG
- Xamarin.Forms 요약
- npm
- React
- ASP.NET Core
- StringComparison
- Xamarin
- Xamarin.Forms eBook
- TypeScript
- Xamarin.Forms
- ios
- VisualStudio
- material-ui
- MS SQL
- Xamarin.iOS
- c#
- Android
- flutter
- Vue
- WPF
- .NET Standard
- Total
- Today
- Yesterday