Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Externe Links in eigenem Browser öffnen. (https://www.delphipraxis.net/10394-externe-links-eigenem-browser-oeffnen.html)

Evian 17. Okt 2003 15:54


Externe Links in eigenem Browser öffnen.
 
Hallo,
das hat bestimmt schon öfters einer gefragt,
aber ich habs leider nicht mit der Suche gefunden.
Ich würd gern wissen, wie ich externe Links(also die
in einem neuen Explorer geöffnet werden) in einer
Dublikation(mir ist kein besseres Wort eingefallen) meiner
eigenen Browseraplikation geöffnet wird. Also wenn ich
im Twebbrowser auf link x klicke, es nicht im IE aufgeht,
sondern meine Browser Form dubliziert wird und das link
in der neuen Form angezeigt wird.

MFG

Evi

KyroxX 18. Okt 2003 14:13

Re: Externe Links in eigenem Browser öffnen.
 
mit anderen Worten:

Du willst das PopUp unterdrücken und die sich öffnende Seite im glaichen TWebBrowser öffnen?
Dann musst du wohl bei deinem Link den richtigen target einstellen und nicht _blank

Wenn du keinen Zugriff auf die Seite hast, die du darstellst, dann wirds schon komplizierter.
Du müsstest den Befehl, eine neue URL zu öffnen, abfangen und als neue URL für den eigenen Browser einfügen.

:gruebel:

CenBells 18. Okt 2003 14:17

Re: Externe Links in eigenem Browser öffnen.
 
du kannst deinen browser auch als standartbrowser des Systems festlegen. Dann wird jeder link in deinem Browser geöffnet.

Gruß
Ken

citybreaker 18. Okt 2003 15:21

Re: Externe Links in eigenem Browser öffnen.
 
Ah, da hät ich dann auch noch eine Frage.
Kann man beim Start des eigenes programmes seinen
Browser als Standart Browser festlegn?

Mystic 18. Okt 2003 22:49

Re: Externe Links in eigenem Browser öffnen.
 
Wenn aus dem TWebBrowser ein neues Fenster geöffnet wird, wird sich immer der IE öffnen. Daran ändert auch die Standardbrowsereinstellung nichts. :roll:
Eine Möglichkeit darauf zu reagieren ist der OnNewWindow2-Event. Mit ihm werden 3 Parameter übergeben:
Delphi-Quellcode:
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
Wenn man Cancel auf True setzt wird das Öffnen des neuen Fensters unterbunden. Wie man auf dem ppDisp die URL für das neue Fenster herauskriegt, weiß ich allerdings nicht. :gruebel:

Kann jemand da helfen? Damit würde auch mir geholfen werden, da ich momentan eine MDI-Browsingumgebung programmiere.

MfG

Mystic

KyroxX 19. Okt 2003 00:38

Re: Externe Links in eigenem Browser öffnen.
 
Wer kann damit was anfangen?

Zitat:

Called when a new window is about to be created.

procedure YourForm.WebBrowser_OnNewWindow2(
Sender: TObject;
var ppDisp: IDispatch;
var Cancel: WordBool);
Where:

ppDisp
Optional - can use to provide a new WebBrowser object to use for the new window. If left unchanged then a new Internet Explorer window will be created.
Cancel
Set true to cancel the new window, False to allow the new window to open.
For example, to open a new new custom browser form:

procedure YourForm.WebBrowser_OnNewWindow2(
Sender: TObject;
var ppDisp: IDispatch;
var Cancel: WordBool);
var
new_form: THarvesterForm;
begin
Application.CreateForm(YourForm,new_form);
new_form.WebBrowser.RegisterAsBrowser := true;
ppDisp := new_form.WebBrowser.Application;
end;
:gruebel:

Mystic 19. Okt 2003 09:43

Re: Externe Links in eigenem Browser öffnen.
 
Wunderbar! Danke! Es funktioniert jetzt!
Ich dachte bisher, das ich dem neuen Browser irgendwie das ppDisp zuweisen müsste und nicht umgekehrt! :wall:
Vielleicht ist der Code so verständlicher:
Delphi-Quellcode:
procedure TForm1.WebBrowser1OnNewWindow2(Sender: TObject;var ppDisp: IDispatch;var Cancel: WordBool);
  var newform: TForm1;
begin
  newform := TForm1.Create(Application);
  newform.WebBrowser1.RegisterAsBrowser := true;
  ppDisp := new_form.WebBrowser1.Application;
end;
MfG

Mystic

Evian 20. Okt 2003 10:01

Re: Externe Links in eigenem Browser öffnen.
 
Ah Wunderbar,
genauso wollt ich es auch haben. Nur ein Problem hab ich noch...
die erste Form hat als Closequery Event einen Fragedialog, ob das
Programm wirklich beendet werden soll, was dann natürlich auch
bei den anderen, neu-erzäugten Formen kommt. Ich hätte es aber lieber,
wenn dieser Fragedialog nur bei der ersten Form kommt. Kann ich
den neuerzäugten Formen irgendwie eine neue Procedur für den Closequerry
Event zuweisen, oder den alten einfach rausnehmen?

Evi

Cluxie 5. Nov 2003 08:58

Re: Externe Links in eigenem Browser öffnen.
 
Bei mir wird leider kein neuer Browser geöffnet wenn ich diesen Code benutze:

Delphi-Quellcode:
procedure TForm_SA_T.WebBrowser1NewWindow2(Sender: TObject;var ppDisp: IDispatch;var Cancel: WordBool);
  var browser2: TForm_SA_T;
begin
  browser2 := TForm_SA_T.Create(Application);
  browser2.WebBrowser1.RegisterAsBrowser := true;
  ppDisp := browser2.WebBrowser1.Application;
end;
Woran kann es liegen ?

mfg Cluxie

Kamil 5. Nov 2003 12:34

Re: Externe Links in eigenem Browser öffnen.
 
ich würde sagen es fehlt noch browser2.show;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
Seite 1 von 2  1 2      

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