Ladestatus des IE überwachen



  • Habe ein C++- Programm mit integriertem IE-View.
    Wie kann man eigentlich den Ladestatus einer Seite (Starte Laden, Ladevorgang abgeschlossen) sich anzeigen lassen ?
    Beim Status "Abgeschlossen" könnte ich u.U. das OnDocumentComplete() verwenden. Wie ist das aber wenn ich eine Seite über ein Adress-Textfeld eingebe und die Seite laden will bzw. eine Seite per Hyperlink öffne ?
    OnDownloadBegin() und OnProgressChange() scheinen das nicht zu realisieren. Zumindest kam keine Messagebox zurück, als ich einen MessageBox- Befehl in diese beiden Member-Funktionen eingebaut hatte.



  • Ich glaub Microsoft schickt im IE auch nur auf gut Glück die Meldungen in die Statusleiste. Was da teilweise steht ist unglaublich. z.B. "Fertig" wenn noch nichts geladen wurde oder "Webseite wird geladen" wenn der Browser schon seit 2 Minuten auf eine Antwort vom Server wartet. 🙄



  • Aber mal im Ernst: Guck dir mal in CHtmlView die Funktion GetBusy und die Events OnNavigateComplete2, OnBeforeNavigate2, OnDownloadBegin, OnDownloadComplete usw. an



  • Ich denke mal das Problem mit dem Anzeigen in der Statusleiste des IE tritt meistens nur auf, wenn man mit Frames arbeitet oder irgendwelche wilden Redirects zu anderen Seiten gemacht werden.
    Die Funktion GetBusy() bringt mir leider nicht viel. Da müßte ja ständig überprüft werden (in einer Art Endlosschleife), wenn man endlich mal eine neue URL eingibt oder auf einen Link klickt.
    Mit den Events hatte ich auch keinen Erfolg gehabt. Keine der darin eingefügten Messageboxen wurde mir angezeigt.
    Kannst's ja selber mal ausprobieren, ich habe die Quelldateien mal auf meine HP unter www.schenser-online.de/cpp/index.html als ZIP zum Downloaden gesetzt.
    Hab erstmal den MessageBox- Befehl im OnDocumentComplete()- Event auskommentiert, damit der nicht bei jedem Laden einer Seite gleich wieder angezeigt wird.
    Kannst's ja selbst mal probieren, ob bei Dir irgendwas reagiert.


Anmelden zum Antworten