AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TWebBrowser "AfterPageLoaded"?

Ein Thema von zobien123 · begonnen am 11. Sep 2018 · letzter Beitrag vom 11. Sep 2018
Antwort Antwort
zobien123

Registriert seit: 3. Mär 2017
Ort: Öhringen
91 Beiträge
 
Delphi XE2 Professional
 
#1

TWebBrowser "AfterPageLoaded"?

  Alt 11. Sep 2018, 09:39
Guten Morgen ,

ich möchte etwas ausführen, nach dem die TwebBrowser Komponente die Seite komplett geladen und dargestellt hat. Leider hat diese kein "AfterPageLoaded" Ereigniss oder etwas ähnliches in die Richtung. Gibt es eine andere Möglichkeit den Zeitpunkt herauszufinden, wann die Komponente komplett fertig ist oder gibt es vllt eine komplett andere (bessere?) Browser Komponente?

LG
Jörn
Linux wird nie das meistinstallierte Betriebssystem sein, wenn man bedenkt, wie oft man Windows neu installieren muss!
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
608 Beiträge
 
Delphi 7 Professional
 
#2

AW: TWebBrowser "AfterPageLoaded"?

  Alt 11. Sep 2018, 10:37
Gibt es da nicht mehrere Ereignisse die mit Complete enden?

Wie das wären:
Delphi-Quellcode:
OnDocumentComplete
OnDownloadComplete
OnNavigateComplete2
Schlimmstenfalls kann man noch in OnStatusTextChange abfragen, ob da der Text 'Fertig' (oder so ähnlich) erscheint

Achso: Man kann auch im Quelltext abfragen ob's fertig ist (ungetestet, nur aus 'nem Programmfragment rauskopiert):
Delphi-Quellcode:
begin
  Statusbar1.SimpleText := Format('lade %s ...',[StringMitDerUrl]);
  Refresh;
  WebBrowser1.HandleNeeded;
  WebBrowser1.Navigate(StringMitDerUrl);
  while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do begin
    Sleep(500);
    Refresh;
  end;
  IrgendwasMachenWennFertig;
end;
  Mit Zitat antworten Zitat
API

Registriert seit: 18. Apr 2004
568 Beiträge
 
#3

AW: TWebBrowser "AfterPageLoaded"?

  Alt 11. Sep 2018, 10:43
Noch not Application.Terminated, sonst lässt sich die Anwendung während des Ladens nicht beenden.

Code:
while (WebBrowser1.ReadyState <> READYSTATE_COMPLETE) and (not Application.Terminated) do
begin
//...
end;

Wobei der Code bei Frames nicht funktionieren wird.

Hier (ganz unten), gibt es eine TBrowserLoadDelay Klasse (ungetestet)
https://groups.google.com/forum/#!to...ng/-31Ijyged0s
  Mit Zitat antworten Zitat
zobien123

Registriert seit: 3. Mär 2017
Ort: Öhringen
91 Beiträge
 
Delphi XE2 Professional
 
#4

AW: TWebBrowser "AfterPageLoaded"?

  Alt 11. Sep 2018, 10:57
Danke für die Antworten, aber leider funktioniert es trotzdem nicht. Wenn ich das, was ich danach machen möchte, über einen ButtonClick dann später selbst auslöse - funktioniert es.

Ich sollte vllt noch erwähnen, dass der TWebBrowser auf einem Frame ist, welchen ich dann auf einem anderen Formular einfüge. Könnte es vllt daran liegen, dass es nicht funktioniert?
Jörn
Linux wird nie das meistinstallierte Betriebssystem sein, wenn man bedenkt, wie oft man Windows neu installieren muss!

Geändert von zobien123 (11. Sep 2018 um 11:03 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf