C# WebView(WebBrowser)에서는 기본적으로 IE7~9 정도의 옛날 IE 모듈이 실행되는 것 같다.
JQeury를 사용하려고 하면 EventListener가 작동하지 않는다느니 하는 경고가 뜬다.
그럴 때 이 함수를 실행해 주면 깔끔하게 해결된다.
public partial class MainWindow:Window {
public MainWindow() {
InitializeComponent();
//WebBrowser를 최신판으로!!!
SetBrowserEmulationMode();
}
private void MainBrowser_Loaded(object sender,RoutedEventArgs e) {
string curDir=System.IO.Directory.GetCurrentDirectory();
Uri HomeUri=new Uri(String.Format("file:///{0}/../../Html/index.html",curDir));
MainBrowser.Navigate(HomeUri);
}
private void SetBrowserFeatureControlKey(string feature,string appName,uint value) {
using(var key=Registry.CurrentUser.CreateSubKey(
String.Concat(@"Software\Microsoft\Internet Explorer\Main\FeatureControl\",feature),
RegistryKeyPermissionCheck.ReadWriteSubTree)) {
key.SetValue(appName,(UInt32)value,RegistryValueKind.DWord);
}
}
public void SetBrowserEmulationMode() {
var fileName=System.IO.Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName);
if(String.Compare(fileName,"devenv.exe",true)==0||String.Compare(fileName,"XDesProc.exe",true)==0)
return;
UInt32 mode=10000;
SetBrowserFeatureControlKey("FEATURE_BROWSER_EMULATION",fileName,mode);
}
}
SetBrowserFeatureControlKey 함수와 SetBrowserEmulationMode 함수를 추가하고,
MainWindow 함수에서 SetBrowserEmulationMode 함수를 실행하면 끝
WPF 기반이라 MainWindow 함수임
출처 : https://blog.tallan.com/2014/04/15/setting-compatibility-mode-of-a-wpf-web-browser/
'쓸만한 주저리' 카테고리의 다른 글
C# WebView(WebBrowser)에서 로컬 json 읽기 (0) | 2017.06.14 |
---|---|
C# WebView(WebBrowser)에서 로컬 파일 경고 없애기 (0) | 2017.06.14 |
OK캐시백 앱으로 적립하기 (0) | 2017.04.19 |
MIUI에서 통화 자동 녹음하기 (0) | 2017.04.17 |
월 5천원도 안되는 요금제 (0) | 2017.04.13 |