저는 지금 델파이로 웹브라우저관련해서 프로그램을 하려고 하고 있습니다.
지금 하려고 하는일은 폼안에 WebBrowser 컨트롤을 text 를 클릭한 순간 새로운 브라우저로 띄우고 또 클릭한 URL정보를 표시하려고 합니다. 몇일동안 아무리 고민해도 안되길래 이렇게 질문을 올립니다.
제목 그대로 OnBeforeNavigate2에서 해결하시면 될것 같습니다.
그 이벤트는 URL링크 및 폼을 서브밋했을 경우에 제일 처음 발생하는 이벤트로, 해당 URL로 이동할 것인지 등을 결정해 줄 수가 있습니다.
이벤트의 파라미터로 넘어 오는 것들 중에서 URL 값을 출력해주고, Cancel:=true;로 설정하여 현재 창에서 네비게이션 되는 것을 막구요, 받은 URL을 가져다가 새창을 띄운 후, 그곳에 저장해 놓았던 URL로 네비게이션하도록 하면 되겠네요.
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
이 이벤트에서 ppDisp인터페이스를 이용해서 새창에 뜰 웹페이지의 정보를
이용할수 있습니다.
새창을 뜨지 않게 하려면 Cancel:= True를 주시면 뜨지 않습니다.
제목 그대로 OnBeforeNavigate2에서 해결하시면 될것 같습니다.
그 이벤트는 URL링크 및 폼을 서브밋했을 경우에 제일 처음 발생하는 이벤트로, 해당 URL로 이동할 것인지 등을 결정해 줄 수가 있습니다.
이벤트의 파라미터로 넘어 오는 것들 중에서 URL 값을 출력해주고, Cancel:=true;로 설정하여 현재 창에서 네비게이션 되는 것을 막구요, 받은 URL을 가져다가 새창을 띄운 후, 그곳에 저장해 놓았던 URL로 네비게이션하도록 하면 되겠네요.