Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

델파이 TWebbrowser 관련 질문


AntKim

질문

델파이로 개발을 하고 있습니다. 

델파이 내부에서 Webbrowser 를 이용하여 웹에서 작업을 진행하려고 합니다.

폼크리에이트에서 Webbrowser1.Navigate('https://www.naver.com '); 를 사용하여 정상적으로 웹을 불러오는데

해당 웹 내에서 메일이나 이런 기능을 클릭을 하면 EXE 내부에서 이동하는 것이 아닌 외부에서 새로운 IE를 띄우고

거기에서 메일이든 카페등 기능이 뜹니다 ... 왜 이런건지 알 수 있을까요 ...?

IE 의 버전이 낮아서 이런 문제가 발생하는 것인가요 ?

도움 부탁드립니다. 

TWebbrowser 가 기능이 낮아서 안된다고 혹시 다른 방법을 추천 해주실게 있을까요 ?

이 댓글 링크
다른 사이트에 공유하기

2 answers to this question

Recommended Posts

  • 0

브라우져 밖에서 호출하는 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;

각각의 브라우져와 이벤트 이름을 혼돈하지 마시기 바랍니다.

테스트 해 봤는데 잘 됩니다.

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.