Entwickler-Ecke
Internet / Netzwerk - in Web-Dokument: Source ersetzen
rabby - Di 27.02.07 11:41
Titel: in Web-Dokument: Source ersetzen
Hallo,
habe eine kleine Browseranwendung, die twebbrowser verwendet.
nun würde ich gerne jedes "abc" durch "def" (in der Source der Seite) ersetzen, was irgendwo auf einer besuchten Internetseite angezeigt wird und zwar bevor es angezeigt wird...
Habe nun viel rumprobiert, doch leider erhalte ich häufig Zugriffsrechteverletzungen durch das Projekt, aber nicht auf jeder Seite und nicht bei jedem Ereignis des Webbrowsers.
Wo/In welches Ereignis von TWB sollte ich es einbauen und welche Webbrowser/Document-Eigenschaft sollte ich verwenden bzw. ist diese (immer) schreibbar oder manchmal nur lesbar?
Danke für Tipps.
Robinator - Di 27.02.07 13:01
Den Source direkt im Webbrowser zu verändern ist, glaub ich, relativ schwer. Ich würde dir empfehlen die Daten per TidHTTP zu downloaden, dann zu manipulieren und erst danach im Webbrowser anzuzeigen.
gruss, rob
jaenicke - Mi 28.02.07 09:42
Nö, das ist nicht wirklich schwer, man muss nur wissen was man tut bzw. welche Befehle es gibt... ;-)
Als Ereigenis ist dafür OnDocumentComplete2 geeigenet, wobei man dabei darauf achten muss, ob wirklich das gesamte Dokument oder nur eine Frameseite fertig geladen wurde.
Und was den Zugriff angeht, auslesen geht so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| var Doc: OleVariant; i, Len: Integer; Elements: OleVariant; A: OleVariant; ActualUserString: String; begin Doc := wbBrowser.Document as IHTMLDocument2; Elements := Doc.All; Len := Elements.Length; pbFortschrittPart.Max := Len; for i := 0 to Len-1 do begin A := Elements.Item(i, varEmpty); pbFortschrittPart.Position := i; if A.TagName = 'TD' then begin Daten.Add(A.InnerText); |
Warum bei dir Fehlermeldungen kommen kann dir niemand beantworten, wenn du nicht den entsprechenden Code angibst...
Was dir noch helfen könnte ist das:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/ifaces/document2/document2.asp
Das ist die offizielle Dokumentation von MS zu dem Thema...
Indy benutzen, die Daten verändern und dann die veränderten Daten anzeigen ist finde ich viel zu kompliziert, vor allem wenn man vielleicht sogar z.B. dynamische Inhalte / Skripts auf der Seite hat.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!