본문 바로가기

반응형

WebBrowser

C# MainWindow의 함수를 부를 때 MainWindow에 MainBrowser를 움직이는 함수가 있다.public void NavigateToUrl(string url) { MainBrowser.Navigate(url); } 로그인을 성공하면 메인페이지를 보여 주고 싶다. string curDir=System.IO.Directory.GetCurrentDirectory(); Uri HomeUri=new Uri(String.Format("file:///{0}/../../Content/CoreUI/index.html",curDir)); var mw=App.Current.MainWindow as MainWindow; mw.NavigateToUrl(HomeUri.ToString()); 출처 : https://stackoverflow.com/ques.. 더보기
C# WebView(WebBrowser) 안의 javascript에서 C# 함수 부르기 // Object used for communication from JS -> WPF [System.Runtime.InteropServices.ComVisibleAttribute(true)] public class HtmlInteropClass { public void SetAValue(string title) {//외부 함수 전용 공간을 만들어서 그쪽으로 옮겨서 처리한다. var ef=new ExternalFunction.EF_1_1(); ef.SetAValueEF(title); } }js에서 c# 함수를 호출하는 classMainWindow Class에 선언한다. public MainWindow() { InitializeComponent(); //IE 최신판으로 변경 SetBrowserEmulatio.. 더보기
js 파일을 동적으로 붙이고 떼기 (load & unload) C# WebView(WebBrowser)를 이용해서 로컬 html, js 파일을 읽어서 화면을 표시하려고 하는데실시간으로 값이 바뀌어야 하는 부분을 처리하기 위해 json 파일을 이용하기로 했다.하지만 로컬 json 파일은 읽을 수 없어서 js 파일에 json 변수를 선언하는 방법을 사용했다.참고 : http://bomdol.tistory.com/150 하지만 이렇게 하면 화면이 뜰 때에만 값을 읽을 수 있어서 js를 계속 새로 고침해야 하는데동적으로 부르기만 하면 메모리 누수가 있을 것 같아서 해제하는 함수도 찾아서 적용했다.여러 시간에 걸쳐서 실험한 건 아니지만 별다른 오류없이 작동하니 잘 될 거라 믿고 쓴다. 동적으로 js 파일 읽기 - 로컬 파일 가능function loadJavascript(ur.. 더보기
C# WebView(WebBrowser)에서 로컬 json 읽기 로컬 json 파일은 보안 정책에 따라 읽을 수 없다.하지만 js 파일은 읽을 수 있다.이를 이용해서 js 파일에 json 변수를 선언해서 사용하는 방법이다. json.js라는 파일을 만들고, 안에 json 변수를 선언한다.var jsondata = { "success": true } html 파일에서는 js 파일은 사용하도록 지정하면 script를 실행해서 읽을 수 있다.test2 출처 : https://stackoverflow.com/questions/34277069/passing-json-data-from-c-sharp-to-standalone-javascript-file-no-web-server 더보기
C# WebView(WebBrowser)에서 로컬 파일 경고 없애기 로컬 파일을 WebView(WebBrowser)로 보려고 하면 보안 경고가 표시되는데 이를 해제하는 구문이다. HTML 파일 DOCTYPE 아래에 저 한 줄만 추가하면 끝이다.저 숫자가 뒤에 나오는 문자열 길이(그 만큼 읽는다고...)라던가 하는 부가적인 정보는 그냥 참고로만 알자.저걸 쓰면 보안 경고가 나오지 않는다는 게 중요하다. 출처 : http://imsoli.blogspot.kr/2012/05/wpfwebbrowser-allow-blocked-content.html 더보기
C# WebView에서 JQuery 쓰기 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.GetCurrentDirect.. 더보기

반응형