AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi wissen wenn twebbrowser fertig geladen hat
Thema durchsuchen
Ansicht
Themen-Optionen

wissen wenn twebbrowser fertig geladen hat

Ein Thema von o0o · begonnen am 9. Dez 2007 · letzter Beitrag vom 10. Dez 2007
Antwort Antwort
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#1

wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 11:06
hi leutz,...also ich hab wiedermal ein kleines problem

wie bekomme ich raus wenn der twebbrowser fertig geladen hat?
ich meine wenn es entgueltig ist inkl. frames^^

ich habs mit NavigateComplete und DocumentComplete versucht nur leider kein erfolg denn wenn ich das drin habe und das zb mit showmessage verknuepfe bekomme ich massig meldungen aufeinmal._.

ich weiss nich wieso aber ich glaube es haengt an den frames,...was denkt ihr denn oder habt ihr bessergesagt ne andere moeglichkeit auf lager?^^

thx an alle die sich ein wenig zeit nehmen

o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#2

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 11:37
Hi,

das ist genau richtig, du bekommst für jeden einzelnen Frame ein DocumentComplete Event.

Es gibt kein Event, was dir sagt, dass die ganze Seite komplett ist.
Möglicherweise könntest Du im OnBeforeNavigate einen Zähler hochzählen, und im DocumentComplete wieder runter,
wenn er dann 0 ist, ist alles da.

Versuch macht klug...

Gruss
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 11:48
0_o keine schlechte idee

echt daran hab ich garnich gedacht^^
thx ich versuchs mal, wenn jedoch jemand anders ne andere idee hat waere nich uebel,...da die frames denk ich mal nich ueberall gleiche anzahl habn(mein geiler email provider)

da o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#4

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 11:57
Zitat von o0o:
0_o keine schlechte idee

echt daran hab ich garnich gedacht^^
thx ich versuchs mal, wenn jedoch jemand anders ne andere idee hat waere nich uebel,...da die frames denk ich mal nich ueberall gleiche anzahl habn(mein geiler email provider)

da o0o
Die Anzahl ist doch völlig egal. Es wird ja auch für jeden Frame ein OnBeforeNavigate ausgelöst. d.h.
wenn 2 Frames:

OnBeforeNavigate: counter := counter +1
OnBeforeNavigate: counter := counter +1
OnNavigateComplete: counter := counter -1
OnNavigateComplete: counter := counter -1

macht am Ende immer 0

egal wieviele Frames.
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 13:24
Zitat von o0o:
ich habs mit NavigateComplete und DocumentComplete versucht nur leider kein erfolg denn wenn ich das drin habe und das zb mit showmessage verknuepfe bekomme ich massig meldungen aufeinmal._.
Was für Meldungen kommen. Ich glaube, dass ein ShowMessage nicht gerade geeignet ist für das Ereigniss DocumentComplete. Schaue Dir mal diese Funktion an.
Delphi-Quellcode:
procedure TForm12.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if (WebBrowser1.LocationURL = ComboBox1.Text) and (not FirstEdit) then
  begin
    Counter := 0;
    Btn_Addr.Enabled := True;
  end;
  if FirstEdit then
  begin
    Counter := Counter + 1;
    if Counter > Memo1.Lines.Count - 1 then
    begin
      if mailcounter <= ComboBox1.Items.Count - 1 then
        mailcounter := mailcounter + 1;
      FirstEdit := False;
      WebBrowser1.Navigate('https://www.domain.de/test.php');
      ComboBox1.Text := ComboBox1.Items.Strings[mailcounter];
    end
    else
    begin
      Label1.Caption := 'Adresse : ' + IntToStr(Counter) + ' von ' + IntToStr(Memo1.Lines.Count);
      Webbrowser1.OleObject.document.forms.item(0).elements.item('black_mail').value := memo1.Lines.Strings[counter];
      Application.ProcessMessages;
      WebBrowser1.OleObject.Document.GetElementsByName('bname_add').Item(0).Click;
    end;
  end;
end;
Diese Funktion liest in einem Memo Zeile für Zeile aus und gibt das an ein Eingabefeld auf der Webseite und führt dann den Senden-Button aus.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 16:13
@RWarnecke
hmm mit deinem source kann ich iwi nix anfangen ich versteh ihn innerlich nichso^^
aber was noch besser ist ist zu wissen was im frame steht^^
dazu das
Delphi-Quellcode:
procedure TWebForm.DemoButtonClick(Sender: TObject);
var
  doc: IHTMLDocument2;
  win: IHTMLWindow2;
  fc: IHTMLFramesCollection2;
  u: IUnknown;
  i: Integer;
  v: OleVariant;
begin
  doc := WebBrowser.Document as IHTMLDocument2;
  fc := doc.frames;
  ShowMessage(Format('frames detected: %d', [fc.Length]));
  for i := 0 to Pred(fc.length) do
  begin
    v := i;
    u := fc.item(v);
    if u.QueryInterface(IHTMLWindow2, win) = 0 then
      ShowMessage(win.document.body.innerHTML)
  end;
end;

ok also er zeigt mir den source von meinem lieben frame nur ich bekomme noch en error "access denied"
weiss jemand wie ich das wieder klar bekomme ohne error?

thx o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 18:58
[ot]du könntest iwie versuchen ma komplette wörter zu schreibn un vllt n bissel mehr deutsch und weniger inet-slang o_O kthxbye.[/ot]
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.544 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 9. Dez 2007, 19:36
[ot] Begging for translation (oder schreiben wir demnächst gleich in leet?)[/ot]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von o0o
o0o

Registriert seit: 20. Jul 2007
Ort: am...,da wo die sonne nicht scheint!
166 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: wissen wenn twebbrowser fertig geladen hat

  Alt 10. Dez 2007, 00:13
tut mir leid wenn euch mein eigendlicher schreibstil nicht so besonders zusagt...0_o
aber ok wenn euch das so auf den sack geht versuche ich es mal wie ein "normaler".

aber leutz achtet doch bitte nicht auf meinen slang^^,...eher wie ich diese felermeldung aus meinem codeschnipsel oben rausbekomme,...waere euch sehr verbunden

btw in 1337 zu kommunizieren wuerde selbst ich nicht mithalten da ich dann mit kopfschmerzen vom raetseln auf dem boden waelze

da o0o
(_/marabu-fan inside\_)
[-\_______________/-]
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 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