AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebBrowser / JS / AJAX überwachen
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser / JS / AJAX überwachen

Ein Thema von Jacques Murell · begonnen am 23. Feb 2011 · letzter Beitrag vom 23. Feb 2011
Antwort Antwort
Benutzerbild von Jacques Murell
Jacques Murell

Registriert seit: 7. Jun 2010
113 Beiträge
 
Turbo Delphi für Win32
 
#1

TWebBrowser / JS / AJAX überwachen

  Alt 23. Feb 2011, 15:07
Moin,

ich habe mir eine kleine Beispielwebseite gebaut, welche via JavaScript eine beliebige Zahlenkombination ausgibt.
Diese Webseite lade ich innerhalb meiner Applikation in einen TWebBrowser und lasse sie darstellen.

Nun zum Problem: Die Webseite ändert in unregelmäßigen Abständen ihren Inhalt, dass heißt via JavaScript werden die Zahlenkombinationen auf die Seite gestellt. Ich stehe nun vor dem Problem: Ich müsste innerhalb meiner Applikation sofort darauf reagieren, wenn sie der Inhalt der Webseite ändert.

Die aktuelle Zahlenkombination steht ja im Webseitenquelltext. Läuft das JS-Skript nun aber weiter, ändert sich logischerweise die Kombination jedenfalls in der Anzeige - der Seitenquelltext bleibt ja unverändert. Ein ständiges Neuladen der Seite kommt aus Traffic und anderen Gründen nicht in Frage.

Leider verfügt der TWebbrowser über keine "OnChange"-Funktion oder so, wie kann ich also auf solche Veränderungen innerhalb der geladenen Webseite reagieren? Ich bin für jeden Tipp / Hinweis sehr dankbar, vielen Dank schonmal.

lg
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#2

AW: TWebBrowser / JS / AJAX überwachen

  Alt 23. Feb 2011, 15:48
Es gibt keine Möglichkeit, Änderungen im DOM so unmittelbar zu überwachen.
Die einfachste Möglichkeit wäre wahrscheinlich, das dort laufende Javascript zur Laufzeit so zu modifizieren, dass es nachdem es die geänderten Werte geschrieben hat sie Dir das noch mitteilt. Dazu kannst Du z.B. ein DOM-Event auf dem Document auslösen und das im TWebBrowser abfangen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jacques Murell
Jacques Murell

Registriert seit: 7. Jun 2010
113 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: TWebBrowser / JS / AJAX überwachen

  Alt 23. Feb 2011, 15:52
Das ist das Problem. Bei meinem eigenen kleinen Test-JS mag das klappen; leider jedoch habe ich beim eigentlich Zielprojekt gar keinen Einfluss auf das JavaScript und kann da nichts ändern. Gibt es denn wirklich keine Möglichkeit den TWebBrowser auf angezeigte Änderungen zu überwachen?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#4

AW: TWebBrowser / JS / AJAX überwachen

  Alt 23. Feb 2011, 15:56
Nein, Du kannst lediglich in den TWebbrowser eigenes Javascript einschleusen welches das vom Zielprojekt vorgegebene Javascript zur Laufzeit verändert. Javascript ist eine hochdynamische Sprache, und Du kannst mit eigenem Javascript komplette existierende Funktionen ändern, umschreiben, anpassen, whatever. Natürlich kannst Du da beliebig alles ändern, und einen einzelnen Call hinzufügen ist da noch das einfachste.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Jacques Murell
Jacques Murell

Registriert seit: 7. Jun 2010
113 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: TWebBrowser / JS / AJAX überwachen

  Alt 23. Feb 2011, 16:09
Oki, danke dir. Das Problem ist, dass ich keinerlei Einblick in das fremde JS hab. Das heißt ich wüsste nichtmal was ich denn ändern sollte. Gibt es vlt andere Möglichkeiten außerhalb des TWebBrowsers - auf den könnte ich verzichten.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.613 Beiträge
 
#6

AW: TWebBrowser / JS / AJAX überwachen

  Alt 23. Feb 2011, 16:24
Nein, das DOM stellt keine Überwachungsfunktionen bereit. Das andere JS kannst Du Dir aber z.B. im Firefox mit Firebug angucken - und dort auf in der console live bearbeiten zum testen. So schwierig ist das jetzt ned. Was ist denn das für eine seltsame Seite?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  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 02:31 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