김승연 10월 6일에 포스트됨 공유하기 10월 6일에 포스트됨 델파이로 개발을 하고 있습니다. 델파이 내부에서 Webbrowser 를 이용하여 웹에서 작업을 진행하려고 합니다. 폼크리에이트에서 Webbrowser1.Navigate('https://www.naver.com '); 를 사용하여 정상적으로 웹을 불러오는데 해당 웹 내에서 메일이나 이런 기능을 클릭을 하면 EXE 내부에서 이동하는 것이 아닌 외부에서 새로운 IE를 띄우고 거기에서 메일이든 카페등 기능이 뜹니다 ... 왜 이런건지 알 수 있을까요 ...? IE 의 버전이 낮아서 이런 문제가 발생하는 것인가요 ? 도움 부탁드립니다. TWebbrowser 가 기능이 낮아서 안된다고 혹시 다른 방법을 추천 해주실게 있을까요 ? 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 10월 6일에 포스트됨 공유하기 10월 6일에 포스트됨 브라우져 밖에서 호출하는 URL은 내부에서 가동이 되고 내부 브라우저 링크는 새창이 열리도록 되어 있습니다. 같은 창을 이용 하는 방법은 아래 링크 답글에 나와 있고 두번째 답변은 좀더 간단한 방법 입니다. TWebbrowser 를 하나 더 띄워놓고 숨김처리 하고 각각의 이벤트에서 처리 하는 방법입니다. https://stackoverflow.com/questions/35705288/delphi-twebbrowser-how-to-stop-redirection-to-new-window // WebBrowser1 의 OnNewWindow2 이벤트 procedure TForm2.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); begin ppDisp := WebBrowser2.DefaultDispatch; end; // WebBrowser2의 OnBeforeNavigate2 이벤트 procedure TForm2.WebBrowser2BeforeNavigate2(ASender: TObject; const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin Cancel := True; WebBrowser1.Navigate(URL); end; 각각의 브라우져와 이벤트 이름을 혼돈하지 마시기 바랍니다. 테스트 해 봤는데 잘 됩니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 김승연 10월 11일에 포스트됨 Author 공유하기 10월 11일에 포스트됨 답변 감사드립니다. 같은 화면에서 뜨는 것은 되네요 ! 그런데 혹시 해당 화면에서 클릭했을 때 URL을 받아올 수 있는 방법이 있을까요 ? 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
김승연
델파이로 개발을 하고 있습니다.
델파이 내부에서 Webbrowser 를 이용하여 웹에서 작업을 진행하려고 합니다.
폼크리에이트에서 Webbrowser1.Navigate('https://www.naver.com '); 를 사용하여 정상적으로 웹을 불러오는데
해당 웹 내에서 메일이나 이런 기능을 클릭을 하면 EXE 내부에서 이동하는 것이 아닌 외부에서 새로운 IE를 띄우고
거기에서 메일이든 카페등 기능이 뜹니다 ... 왜 이런건지 알 수 있을까요 ...?
IE 의 버전이 낮아서 이런 문제가 발생하는 것인가요 ?
도움 부탁드립니다.
TWebbrowser 가 기능이 낮아서 안된다고 혹시 다른 방법을 추천 해주실게 있을까요 ?
이 댓글 링크
다른 사이트에 공유하기
2 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.