Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi WebBrowser -> Link nicht in neuem Fenster öffnen (https://www.delphipraxis.net/140236-webbrowser-link-nicht-neuem-fenster-oeffnen.html)

HolgerCW 14. Sep 2009 10:13


WebBrowser -> Link nicht in neuem Fenster öffnen
 
Hallo zusammen,

kann man den WebBrowser so einstellen, das sich Verlinkungen nicht in einem neuen Fenster sondern nur im WebBrowser selber öffnen.

Gruss

Holger

rweinzierl 14. Sep 2009 11:36

Re: WebBrowser -> Link nicht in neuem Fenster öffnen
 
Ja

Es gibt ein event OnBeforeNavigate2 (liefert die neue URL) und OnNewWindow.

Mit diesem beiden Events kann man ein neues Fenster verbiegen.

mfg

Reinhold





---------------------------
Kostenloses Bestandsbuch www.ithof.de

HolgerCW 18. Sep 2009 08:52

Re: WebBrowser -> Link nicht in neuem Fenster öffnen
 
Danke schon mal,

aber wie mache ich das genau.

Wenn ich in dem Ereignis onNewWindow2 -> Cancel := True setze, wird das neue Fenster zwar nicht geöffnet, aber

das Problem dabei ist, dass das Ereignis onBeforeNavigate2 vorher nicht gezündet wurde. Somit kann ich nicht die neue URL abfragen.

Wie löse ich dieses Problem ?

Gruss

Holger

himitsu 18. Sep 2009 09:28

Re: WebBrowser -> Link nicht in neuem Fenster öffnen
 
also bei mir funktioniert das mit

OnNewWindow2 + Cancel:=False;
OnBeforeNavigate2 + Cancel:=True;
und dann die URL selber in den WebBrowser laden

schon seit Jahren ohne Probleme (Delphi7)


PS: könnte man da oben den TWebBrowser erwähnen?
hab zuerst an sowas wie IE und FF denken müssen :nerd:

HolgerCW 18. Sep 2009 11:27

Re: WebBrowser -> Link nicht in neuem Fenster öffnen
 
In dem Ereignis OnNewWindow2 setzt Du also Cancel := FALSE; (Wozu das überhaupt ?) Müsste hier nicht True stehen ?
In dem Ereignis OnBeforeNavigate2 setzt Du dann Cancel := TRUE;
Und in welchem Ereignis Navigierst Du die URL neu ? Wenn ich dieses in dem Ereignis OnNewWindow2 machen habe ich einen Stack-Überlauf, da er sich ja immer wieder selber aufruft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 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