Einzelnen Beitrag anzeigen

Benutzerbild von Evian
Evian

Registriert seit: 10. Apr 2003
Ort: Berlin
485 Beiträge
 
Delphi 6 Professional
 
#2

Re: TWebbrowser, Link im gleichen Fenster öffnen

  Alt 21. Jan 2004, 11:33
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
-> www.Phillsoft.de

Ich bin nun Mathematiker, aber meine Freundin bleibt trotzdem unberechenbar!
  Mit Zitat antworten Zitat