Реагируем на щелчок по ссылке в WebBrowser
Реагируем на щелчок по ссылке в WebBrowser
Реагируем на щелчок по ссылке в WebBrowser var Document: IHtmlDocument2; V: Variant; procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('about:blank'); while WebBrowser1.Document = nil do Application.ProcessMessages; Document := WebBrowser1.Document as IHtmlDocument2; end; procedure TForm1.Button1Click(Sender: TObject); begin V[0] :='Run'; Document.Writeln(PSafeArray(TVarData(v).VArray)); WebBrowser1.OleObject.Document.ParentWindow.Scroll(0, 10000000); end; procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if url <> 'about:blank' then begin WebBrowser2.Navigate(URL); Cancel := True; end; Автор: Rouse_ var NavigateTo: Boolean = False; procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleVariant; var Cancel: WordBool); begin if NavigateTo then begin Cancel := True; WebBrowser2.Navigate(URL); end; procedure TForm1.Button2Click(Sender: TObject); begin WebBrowser1.Navigate('about:Run'); NavigateTo := True; end; Автор: s-mike OnNewWindow2 Возникает при попытке открыть документ в новом окне. Если Вы хотите, чтобы документ был открыт в Вашем экземпляре броузера, то Вам нужно создать свой экземпляр броузера и параметру ppDisp присвоить интерфейсную ссылку на этот экземпляр: procedure TFormSimpleWB.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var newForm:TFormSimpleWB; begin newForm := TFormSimpleWB.Create(Application); newForm.Show; ppDisp := newForm.WebBrowser1.ControlInterface; end;