Ich hätte eine Lösung für Dich, die zwar nicht besonders Elegant ist, aber funktioniert:
1. Du musst als erstes die
URL des Links rausbekommen.
Dazu legst Du einen zusätzlichen, versteckten Browser auf Deine Form und
übergibst im WebBrowser1NewWindow Event des Hauptbrowsers die ppDisp
Variablen an diesen zweiten Webbrowser:
Code:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp := WebBrowser2.Application;
end;
Wenn dann diese
URL im zweiten Webbrowser geladen wird hast Du seine
URL
und kannst zum einen diese an den Hauptwebbrowser übergeben und zum anderen
den Ladevorgang des zweiten Webbrowsers abbrechen:
Code:
procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var
URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
BEGIN
Webbrowser1.navigate(
URL)
cancel := TRUE;
END;
Naja wie gesagt, ist sicher nicht die beste Lösung aber es funzt.
Vielleicht noch einen Tipp, wenn Du aus der ppDisp die
URL rausbekommen
würdest, dann bräuchtest Du gar keinen 2ten Webbrowser, aber wie
das geht weiß ich nicht.
MFG
Evian