Autor Beitrag
Jan1
Hält's aus hier
Beiträge: 7



BeitragVerfasst: Fr 22.09.06 12:37 
Hallo zusammen!
Ich hab einige Fragen zum WebBrowser - ich denke sie sind leicht zu beantworten. Ich habe die Suche benutzt, aber irgendwie dort keine Lösung gefunden, also:

1. Ich würde gerne nur einen bestimmten Auschnitt einer Website im WebBrowser darstellen. Beispiel für das Forum: Etwa die kleine Suchbox rechts.

2. Mittels
ausblenden Quelltext
1:
2:
procedure TForm1.EmbeddedWB1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);

stell ich ja fest, ob eine Seite fertig geladen wird. Hier kann ich ja dann diverse Aktionen ausführen. Die Aktionen werden aber ständig ausgeführt bei jeder Seite. Wie kann ich nur für bestimmte Seiten Aktionen ausführen lassen?

3. Wie kann ich schnell und einfach ein Bild aus dem WebBrowser einzeln darstellen?

4. Wie kann ich den Quelltext der aktuellen Seite, als die die ich gerade aufgerufen habe, speichern?

Vielen Danke für Eure Hilfe!
Raffo
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 300



BeitragVerfasst: Mo 25.09.06 18:21 
1.) der Auschnitt, selbst wenn Du ihm "parst", wird bestimmt nicht die Scripte (jscript, javascript) miteinbeziehn können, sowas ist nur per mühsamer Handarbeit möglich. Kleiner Tipp, nach <Formsuchen...

2.) Du musst die Eigenschaft abfragen, welche Seite gerade geladen ist, wenn Sie UNGLEICH deiner Seite ist (also eine last_page als tag in deinem proggy hinterlegen), dann ist der refresh ungültig (ist kompliziert, aber ist auch so, oder anders gesagt: Merk dir die letzte aufgerufene Seite und vergleiche mit der Neuen).

3.)nun, wenn du den Quelltext hast, müsste doch das mit dem parsen von <img src= irgendwie "parsen" können, ist schwierig, weil im <img tagja auch <img alt= stehen könnte, also zuerst nach <imgschauen, den tag als solches bis zum nächsten > vereinzeln und nach srcschauen

4.) den ganzen Quelltext als solches würde ich einfach mit der (entweder) IdHttp Kompo machen, oder wenn nicht Indy vorhanden, mit HttpGet (gibts auf Delphi Super Page).