본문 바로가기

반응형

c#

윈도 어플로 로컬 웹뷰를 만들고 있다. 처음엔 로컬 파일을 읽으니까 js 실행 오류부터 ie 버전이 낮아서 나는 오류까지 많았는데http://bomdol.tistory.com/149http://bomdol.tistory.com/148역시 갓구글을 통해서 다 해결하고 웹뷰를 만들기 시작했다. 서버가 없으니 json 파일을 생성해서 그걸 읽어서 처리하도록 만들었는데로컬 json 파일을 읽을 방법이 없다.검색해 보니 js로 저장해서 읽는 방법을 추천한다.var json={"key":"value"}http://bomdol.tistory.com/150해보니 잘 된다. 조회 화면을 만들려고 하니 매번 json.js 파일을 동적으로 붙였다 뗏다 해야 한다.이것도 잘 찾아 보니 만들어 둔 사람이 있기에 해 보니 잘 된다.http://bomdol.tistor.. 더보기
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.. 더보기
c#에서 파일 업로드 후 삭제가 안될 때 보통 "파일은 다른 프로세스 에서 사용 중이므로 프로세스 에서 액세스 할 수 없습니다" 오류를 만나게 된다.도대체 왜 이러나...가끔은 기다려 보면 해제되기도 해서 그려러니 하고 있다가오늘은 10여분을 기다려도 해제가 안되어서 찾아 보니... http://stackoverflow.com/questions/6750033/file-is-locked-after-httppostedfile-saveaslocationonserver I have dealt with the same situation in the past. You need to run your application pool under a domain account. That is, the app pool under which your web appli.. 더보기

반응형