Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TWebBrowser problem mit neuen fenstern (https://www.delphipraxis.net/67521-twebbrowser-problem-mit-neuen-fenstern.html)

ghost007 15. Apr 2006 23:14


TWebBrowser problem mit neuen fenstern
 
Hallo,
ich hab mir mit der TWebBrowser Komponente einen Browser gebastelt, jetzt hab ich folgendes problem.
Wenn man in dem Browser Fenster auf einen link klickt, der sich in einem neuen fenster öffnet, dann wird dies mit dem Microsoft IE gemacht, ich will erreichen, das mein browser dies verhindert und bei einer note-control einen neuen note auf macht und die seite darin anzeigt.

Danke - Ghost

scp 15. Apr 2006 23:24

Re: TWebBrowser problem mit neuen fenstern
 
Die Suche ist dein Freund: Hier im Forum suchentwebbrowser popup z.B. drittes Thema in der Liste.

ghost007 15. Apr 2006 23:25

Re: TWebBrowser problem mit neuen fenstern
 
das hilft mir leider nicht weiter ...
es würde mit schon reichen, wenn ich verhindern könnte das der IE aufgeht und wenn ich die popup addresse abfangen könnte.

mr47 15. Apr 2006 23:30

Re: TWebBrowser problem mit neuen fenstern
 
Du kannst entweder deinen Browser als Standardprogramm für .html ... etc. festlegen, oder man kann den angeklickten Link auslesen und dann Manuell weiterverarbeiten... Verwende bitte die die Suche, das gibts nähmlich schon öfters hier in der DP!

scp 15. Apr 2006 23:35

Re: TWebBrowser problem mit neuen fenstern
 
Bei der Suche müsste echt alles mögliche mit Code dabei sein.
Da ich aber auch kein Rätsel-Onkel sein will hier eine Möglichkeit :-)
Delphi-Quellcode:
procedure TUBrowseWin.WebBrowser1NewWindow2(ASender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
begin
  Cancel := true;
end;

ghost007 15. Apr 2006 23:42

Re: TWebBrowser problem mit neuen fenstern
 
danke :) werden mich mal mit den sachen auseinandersetzen

Ghost

ghost007 15. Apr 2006 23:48

Re: TWebBrowser problem mit neuen fenstern
 
hm ... danke für das cancel :)

eine letzte frage, wie kann ich die addresse auslesen, auf die er popupen will, also, ich unterdrücke das popup durch das Cancel=true. Wie bekomm ich raus, was er öffnen wollte mir dem popup?

mr47 15. Apr 2006 23:48

Re: TWebBrowser problem mit neuen fenstern
 
der Code von scp bewirkt allerdings nur, dass der Browser nicht selbst den Link "ausführt" und du das übernehmen kannst!

edit: Wo ist bloß der rote Kasten :gruebel:

ghost007 15. Apr 2006 23:51

Re: TWebBrowser problem mit neuen fenstern
 
das ist mir klar, aba wenn ich das jetzt übernehmen will, muss ich ja wissen, welche url ich öffnen muss.
d.h. welche er mit dem popup geöffnet hätte, hätte ich es nicht unterdrückt.
Und wie komme ich an die URL?

scp 16. Apr 2006 00:06

Re: TWebBrowser problem mit neuen fenstern
 
Das wurde z.B. hier erklärt.

ghost007 16. Apr 2006 00:41

Re: TWebBrowser problem mit neuen fenstern
 
ok, ich komme jetzt an die url ran :)

Ich weiß auch wie ich eine neies tab erstelle bei dem tabbednotebook, aber wie bekomme ich jetzt auf den neuen Tab ein TWebBrowser feld?

mr47 16. Apr 2006 00:45

Re: TWebBrowser problem mit neuen fenstern
 
Zitat:

Zitat von ghost007
ok, ich komme jetzt an die url ran :)

Ich weiß auch wie ich eine neies tab erstelle bei dem tabbednotebook, aber wie bekomme ich jetzt auf den neuen Tab ein TWebBrowser feld?

Entweder auf jedem Tab dynamisch einen neuen TWebBrowser erzeugen, oder immer einen verwenden und die Seiten aus dem Cache laden, wenn ein Tab angeklickt wurde, was aber wahrscheinlich zu langsam ist!


Gruß mr47

ghost007 16. Apr 2006 00:49

Re: TWebBrowser problem mit neuen fenstern
 
und wie erzeuge ich ein TWebBrwoser feld in dem neuen tab?
:gruebel:

scp 16. Apr 2006 01:10

Re: TWebBrowser problem mit neuen fenstern
 
Etwa so:
Delphi-Quellcode:
var
  ts: TTabsheet;
  wb: TWebBrowser;
begin
  ts := TTabsheet.Create(PageControl1);
  ts.Caption := 'Neu';
  ts.PageControl := PageControl1;
  PageControl1.ActivePage := ts;

  wb := TWebBrowser.Create(ts);
  ts.InsertControl(wb);
  wb.Align := alClient;

  wb.OnNewWindow2 := WebBrowser1NewWindow2;
  //.....
end;

fkerber 16. Apr 2006 07:55

Re: TWebBrowser problem mit neuen fenstern
 
Hi!

Und dann nicht vergessen, die createten (was ein Wort) Sachen auch wieder freizugegeben.
Das sollte man sich angewöhnen, dann vergisst man das nicht, wenns mal wirklich drauf ankommt.


Ciao Frederic

marabu 16. Apr 2006 08:08

Re: TWebBrowser problem mit neuen fenstern
 
Hi Frederic,

man kann die Verantwortung auch an einen Owner delegieren - wie im Code von Beitrag #14 geschehen.

Frohe Ostern

marabu

fkerber 16. Apr 2006 08:21

Re: TWebBrowser problem mit neuen fenstern
 
Hi!

Das ist mir klar. Aber wäre es nicht sinnvoller, die Sachen trotzdem noch einzeln freizugeben? Erstens mal aus Gründen der Übersichtlichkeit und außerdem vergisst man es dann auch nicht, wenn man mal in anderen Situationen ist, oder?

Außerdem wäre so die "Lebenszeit" doch unnötig verlängert, oder? Es bliebe ja alles so lang erhalten, wie auch das PageControl1 lebt. Wenn man dann mal ein paar Tabs geöffnet hatte im Laufe einer Instanz, dann iss doch schon einiges an Speicher belegt, oder etwa nicht?


Wie dem auch sei, war mehr so ein Tipp der Vollständigkeit halber.


Ciao Frederic

marabu 16. Apr 2006 08:34

Re: TWebBrowser problem mit neuen fenstern
 
Deine Überlegungen sind richtig, aber es ist schon so in Ordnung wie es ist. Der Owner für den WebBrowser ist ja das Tabsheet.

marabu

ghost007 16. Apr 2006 11:23

Re: TWebBrowser problem mit neuen fenstern
 
Mal ne ganz blöde frage, wie kann ich im objectinspector dem page control von anfang an einen page geben?

fkerber 16. Apr 2006 11:26

Re: TWebBrowser problem mit neuen fenstern
 
Hi!

Geht das nicht durch Setzen der ActivePage Property?


Ciao Frederic

ghost007 16. Apr 2006 11:28

Re: TWebBrowser problem mit neuen fenstern
 
Über ActivePag kann ich nur festlegen, welche der vorhandenen pages "aufgeschlagen" ist.
Aber wie erstelle ich eine page ?

fkerber 16. Apr 2006 11:30

Re: TWebBrowser problem mit neuen fenstern
 
Hi!

Rechtsklick auf das PageControl und dann NewPage.


Ciao Frederic

ghost007 16. Apr 2006 11:30

Re: TWebBrowser problem mit neuen fenstern
 
... das war ja einfach ...

Danke :thumb:

ghost007 16. Apr 2006 12:01

Re: TWebBrowser problem mit neuen fenstern
 
so, hab da noch eine frage, passt zwar nicht gerade hier ins topic.
Frage:
Wie kann ich onCreate machen, das das Fenster maximiert ist?
bzw. wie mach ich das immer alle dinge auf der forum sichtbar sind, auch wenn der user das forum durch den mauszeiger verkleinert oder vergrößert?

fkerber 16. Apr 2006 12:06

Re: TWebBrowser problem mit neuen fenstern
 
Hi!

Wie du ja schon festgestellt hast, passt es hier nicht rein, dann mach doch bitte einen neuen Thread auf, dann antworte ich dir auch gerne :wink:


Ciao Frederic


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