Entwickler-Ecke

Internet / Netzwerk - TWebBrowser: Link (target="_blank") in aktiven TWe


Kaweb - Mi 04.12.02 21:22
Titel: TWebBrowser: Link (target="_blank") in aktiven TWe
hallo,

ich versuche gerade verzweifelt, einen Link der mit "target="_blank"" automatisch in einem neuen fenster geladen wird, trotzdem im aktiven TWebBrowser zu laden.

Laut der Delphihilfe müsste es folgendermaßen Funktionieren: (Funktioniert aber nicht)


Quelltext
1:
2:
3:
4:
5:
procedure Tmain_form.WebBrowser_v11NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  Cancel := True;
end;


Hier der Auszug aus der Hilfe:

Zitat:

Cancel erlaubt Ihnen, das Erstellen eines neuen Fensters zu verhindern. Wenn Sie Cancel in der Routine auf True setzen, zeigt der Web-Browser die Ziel-Ressource in seinem aktuellen Fenster an, sobald das Ereignis OnBeforeNavigate2 eintritt.




Ich habe dann folgendes versucht:


Quelltext
1:
2:
3:
4:
5:
procedure Tmain_form.WebBrowser_v11NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  ppDisp := main_form.WebBrowser_v11.Application;
end;


Leider funzt das auch nicht. Gibts dafür eine funktionsfähige Lösung :?:


grashalm - Do 05.12.02 16:04

Hi Kaweb,

hab da was gefunden, vieleicht hilft es dir:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
var
  NewWindow: TForm1;
begin

  NewWindow := TForm1.Create(self);
  NewWindow.Show;
  ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
end;



grus

grasi


Kaweb - Do 05.12.02 18:23

der code öffnet ein neues fenster. ich will aber, das jeder link (auch die, die in einem neuen fenster geöffnet werden sollen) im selben document geöffnet wird.