Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebbrowser neues Fenster Target (https://www.delphipraxis.net/128009-twebbrowser-neues-fenster-target.html)

API 22. Jan 2009 15:57


TWebbrowser neues Fenster Target
 
Hallo !

Im OnNewWindow2 wird ein Link in einem neuen (internen) Fenster geöffnet.
Wie geht es, dass ein Link mit Targetangabe im gleichen Fenster geöffnet wird so wie es
der IE macht?

So wird ja immer eine neue Form mit Webbrowser erstellt.

Delphi-Quellcode:
procedure TfrmWeb1.WebBrowser1NewWindow2(ASender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
var
  NewWindow: TfrmWeb2;
begin
  NewWindow := TfrmWeb2.Create(Application);
  NewWindow.Caption := frmMain.Caption + ' ...';
  NewWindow.Webbrowser1.RegisterAsBrowser := True;
  NewWindow.Show;
  ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
end;

API 23. Jan 2009 17:57

Re: TWebbrowser neues Fenster Target
 
Hat niemand eine Idee?
Wofür ist denn RegisterAsBrowser genau?

API 25. Jan 2009 07:01

Re: TWebbrowser neues Fenster Target
 
P U S H

thkerkmann 25. Jan 2009 09:02

Re: TWebbrowser neues Fenster Target
 
Hi API

um den Link im gleichen Fenster zu öffnen, musst du Cancel auf True setzen, und damit die Navigation im neuen Fenster abbrechen.
Die URL nimmst Du dann, um im bestehenden TWebbrowser ein neues Navigate anzustossen. Dies geht dann nicht im OnNewWindow, sondern im OnBeforeNavigate, welches vorher gefeuert wird. Hier kannst Du das Target prüfen, und ggf. wie beschrieben reagieren.

Ich glaub ich habe mich etwas konfus ausgedrückt, aber du kriegst das hin. OnBeforeNavigate ist dein Freund.
Ich hab das vor langer Zeit mal gemacht, wenn es noch Probleme gibt, melde dich, dann such ich das nochmal raus. :D

Gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz