AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Inhalte in Webbrowser updaten ohne Refresh/Flickern
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalte in Webbrowser updaten ohne Refresh/Flickern

Ein Thema von torud · begonnen am 24. Feb 2006 · letzter Beitrag vom 16. Mär 2006
Antwort Antwort
Seite 1 von 3  1 23      
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 12:25
Hallo Wissende,

ich generiere aus CP-Files HTML-Dateien, die ich in einer WebBrowser-Komponente darstelle. Dabei handelt es sich um Daten aus SportEvents, welche sich sekündlich ändern können (Punkte, Spielstände, Zeiten).

Das Generieren der Dateien und die Anzeige derer funktioniert recht gut und ohne grössere Probleme.

Was mir gar nicht gefällt ist die Tatsache, dass der WebBrowser bei einem kompletten Seitenrefresh so aussieht, als würde er kurz flackern. Ich denke, dass er es auch tut, aber wirklich schön ist das nicht!

Was kann ich tun, um das zu verhindern?

Ich habe schon überlegt irgendwie ein JavaScript mit GetElementbyID einzubauen und damit dann die zu ändernden Inhalte so zu ändern, weiss aber nicht, wie man das "von aussen" anschieben kann, weil dies vollautomatisch geschehen muss. Ändert sich also ein Spielstand muss sich dies auch der Spielstand der HTML-Seite von selbst updaten.

Vielleicht gehts ja auf diesem Weg? Ich habe sowas allerdings noch nie realisiert und wäre auf ein wenig Hilfe angewiesen.
Danke
Tom
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 13:16
es gibt eine Unit sendkey.pas oder sendkeys.pas
damit kannst Du z.B. die Taste F5 senden.
Daraufhin wird der Webbrowser aktualiesiert.

Das flackern wirst Du dadurch nicht wegbekommen
aber es flackert nur dann wenn auch etwas neues
anliegt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 13:23
Hallo Klaus,

danke für Deine Antwort. Das Refreshen ist nicht das Problem, denn das geht doch auch über Webbrowser.refresh.

Ich will einfach das Flackern beim Refresh selbst wegbekommen. Mir scheint das nur mit einem JavaScript zu gehen, aber ich habe einfach noch keine Source für ein AutoUpdate finden können.
Danke
Tom
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 13:57
Hallo Tom,

könntest Du nicht mit zwei Instancen des Webbrowsers arbeiten.
Wenn der eine angezeigt wird, kann der andere upgedatet (was ein Wort) werden.
Ist der Update komplett wird der erste Webbrowser versteckt und der zweite angezeigt.

Die Methoden dazu sind webbrowser1.hide und webbrowser1.show

Habe es nicht getestet ob es flackert.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 14:19
Naja ehrlich gesagt ist das nicht genau das, was ich wollte. Das ist eigentlich nur ein "Verdecken des Problems", was ich nicht wirklich will.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 14:24
Da wirst du dir wohl einen eigenen WebBrowser schreiben müssen, der besser ist als der IE und nicht flackert, wenn er die Seite neu läd.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 14:34
aber dein zweiter ansatz mit dem ändern von aussen der seite müsste doch klappen.

Ich glaube, alles was mann mit Javascript machen kann, kann man auch extern mit Delphi machen.

Und Editfelder befüllen, Comboboxen auswählen .... kann man von extern (mit Delphi) zu 100% (Habs selber schon gemacht)

Da vermute ich, das man eventuell auch Texte ändern kann.

schau mal hier, vielleicht findest da was dir weiterhilft : http://www.cryer.co.uk/brian/delphi/...properties.htm
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 14:44
Hi Tom,

vielleicht genügt dir ja das hier:

Delphi-Quellcode:
procedure TWebForm.WebBrowserBeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if pDisp = WebBrowser.DefaultInterface then
    LockWindowUpdate(Handle);
end;

procedure TWebForm.WebBrowserDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if pDisp = WebBrowser.DefaultInterface then
    LockWindowUpdate(0);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 16:38
Das mit dem eigenen Browser war ja schon etwas zickig, oder!?

Also ich dachte da eher an das neue Zauberwort: AJAX

Ich habe es extra nicht angesprochen, weil ich hoffte, dass mir einer von Euch in dieser Richtung nen Tipp gibt. Ich werde aber, bevor ich mir das antue, erstmal die beiden anderen guten Tipps anschauen und testen.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von Master_RC
Master_RC

Registriert seit: 18. Jan 2005
459 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Inhalte in Webbrowser updaten ohne Refresh/Flickern

  Alt 24. Feb 2006, 17:30
@torud:
Benutz das von marabu, bei mir klappts ohne Flackern (getestet mit XAMPP-Server per LAN mithilfe meines Server-Rechners )

[Ich möchte mich hiermit vor allem an dem Herrn S. Erverrechner bedanken, der diesen gewaltigen Schritt der Forschung mit einer TWebBrowser-Komponente geschaffen hat, die beim Updaten nicht flackert. Vielen Dank]

Vor Kurzem erreichte uns eine Eilmeldung:

Ein gewisser Herr S. Erverrechner wurde für den Nobelpreis nominiert.
Er hat es geschafft, eine WebBrowser-Komponente zu kreieren, die beim updaten nicht flackert.


Sorry, mir war langweilig


PS:
Bevor ichs vergesse: der Text soll auf keinem Fall jetzt irgendwen verarschen oder so! Ich hab selber soetwas gesucht und habs bisher mit dem "per 2. Browser verstecken" gelöst.
Ein Volk ist nur soviel wert, wie es dessen Toten ehrt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 14: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