Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Refresh in TWebBrowser abfangen oder sperren (https://www.delphipraxis.net/84663-refresh-twebbrowser-abfangen-oder-sperren.html)

BAERnado 19. Jan 2007 17:30


Refresh in TWebBrowser abfangen oder sperren
 
Hi Leute,

ich habe einen ChatClient in Delphi7 geschrieben, der zur Anzeige TWebBrowser benutzt, da ich ordentliche Schriftformatierung haben wollte, sowie automatisches, aber abstellbares Scrolling, eine ordentliche Möglichkeit, Text zu markieren und zu kopieren, sowie die Möglichkeit, Bilder einzubinden und Links einzubauen.

Nunja, soweit ist das alles auch kein Problem, doch nun stelle ich fest, dass ich ein Problem mit der Komponente selbst habe.
Am Anfang wird etwas HTML in die zunächst blanke Seite geschrieben, so dass einige Grundformatierungen existieren (und die Auto-Scrollfunktion von JavaScript geladen wird).
Leider Gottes sind die User aber in der Lage, die Seite zu aktualisieren, so dass sie erneut auf about:blank landen. Zwar wird der Chat weiterhin in die Seite geschrieben, doch sämtliche Formatierung und JavaScript-Funktionen sind weg.

Nun habe ich also zwei Möglichkeiten: Entweder einen Refresh abfangen und das HTML-Grundgerüst wieder in die Seite schreiben, oder einen Refresh unterbinden, aber wie tu ich das?
Der Refresh löst bei mir kein onDocumentComplete aus, wahrscheinlich weil about:blank geladen ist :/

Vielen Dank schonmal für etwaige Hilfeversuche

lbccaleb 19. Jan 2007 17:39

Re: Refresh in TWebBrowser abfangen oder sperren
 
hey,

hast es schon mal mit OnBeforeNavigate2 versucht, villeicht kannst du es da abfangen...

BAERnado 19. Jan 2007 18:12

Re: Refresh in TWebBrowser abfangen oder sperren
 
Hab ich bereits versucht. Leider wird das Event auch ned ausgelöst.

toms 19. Jan 2007 18:30

Re: Refresh in TWebBrowser abfangen oder sperren
 
Verwende den Bei Google suchenTEmbeddedWB. Dieser besitzt ein OnRefresh Event, in welchem du Cancel auf True setzen kannst.
Ansonsten müsstest du IDocHostUIHandler implementieren und in TranslateAccelerator auf die cmdid of 6041
S_OK zurückgeben.


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