AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebBrowser - Kommunikation selbst verrichten
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser - Kommunikation selbst verrichten

Ein Thema von Neotracer · begonnen am 12. Jun 2011 · letzter Beitrag vom 14. Jun 2011
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#11

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 12. Jun 2011, 23:32
genauso ist es.

//Edit: reagieren kann man nur dann, wenn eine Navigation ansteht, in BeforeNavigate
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )

Geändert von Lannes (12. Jun 2011 um 23:40 Uhr)
  Mit Zitat antworten Zitat
Neotracer

Registriert seit: 14. Jul 2010
17 Beiträge
 
Delphi 7 Personal
 
#12

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 12. Jun 2011, 23:42
Hey, danke für eure Überlegungen.

Ein Proxy fällt schon einmal raus, da es sich um Strukturen handelt, die nicht dem Standard entsprechen; manchmal auch um Zugriffe auf eigens entwickelte Offline-Datenbanken aus dem die Daten dann kommen. Jedenfalls stellt das ja alles kein Problem da. Ich kann die Daten ja liefern.
Nur will ich das Rad nicht neu erfinden und das komplette Rendern von HTML und CSS Features nochmals entwickeln.

@himitsu:
Wenn du BeforeNavigate meinst, dann ist das ungeeignet. Es lädt die komplette Seiten mit allen Unter-URLs. Ich kann also nur die AnfangsURL abfangen. Aber wenn Bilder, Frames, CSS, oder JS-Dateien darin sind, dann werden diese selbst geladen ohne ein Ereignis zu feuern.
(Das was Thom schon sagte)

Wenn ich durch die Sources schaue, dann lande ich irgendwann bei Interfaces für OLE-Kram.
Wird schwer sein, da nen Callback einzurichten ohne sich da "reinzuhacken".
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#13

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 12. Jun 2011, 23:55
Ein Proxy fällt schon einmal raus, da es sich um Strukturen handelt, die nicht dem Standard entsprechen [...]
Hast Du Dir mal den von mir verlinkten Thread angeschaut? Wahrscheinlich nicht.
Genau das macht nämlich der in dem genannten Thread gepostete Proxy: Jede einzelne Anforderung kann dort weiter- oder umgeleitet, manipuliert oder einfach blockiert werden...
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (12. Jun 2011 um 23:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#14

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 00:08
Es lädt die komplette Seiten mit allen Unter-URLs. Ich kann also nur die AnfangsURL abfangen. Aber wenn Bilder, Frames, CSS, oder JS-Dateien darin sind, dann werden diese selbst geladen ohne ein Ereignis zu feuern.
Würde doch reichen?

> Die seite selber laden und die enthaltenen Verlinkungen, zu Bildern, JS, CSS und Co. ändern.
> Danach werden auch Diese dann von den gewünschten Stellen geholt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#15

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 00:21
@himitsu:

Logisch weitergedacht, könnte die Seite auch gleich so gestaltet werden, daß die Ressourcen von den richtigen Stellen geladen werden.
Denkbar wäre da zum Beispiel der Aufruf von Delphi-Methoden von JavaScript aus.

Aber das war ja nicht die Frage, sondern es ging (geht) darum, wie das Laden einzelner Ressourcen gezielt gesteuert werden kann. Und das kann TWebBrowser leider nicht ohne Hilfe.
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (13. Jun 2011 um 00:43 Uhr)
  Mit Zitat antworten Zitat
Neotracer

Registriert seit: 14. Jul 2010
17 Beiträge
 
Delphi 7 Personal
 
#16

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 00:32
Würde doch reichen?
> Die seite selber laden und die enthaltenen Verlinkungen, zu Bildern, JS, CSS und Co. ändern.
> Danach werden auch Diese dann von den gewünschten Stellen geholt.
Naja. Es reicht nicht die URLS umzuschreiben. Meine gewünschte Stelle ist ein Buffer.
Soetwas gibt es nicht als URL. Es muss ein Buffer sein, weil nicht alles als URI-Form immer verfügbar ist, da ich auch über andere Protokolle (RPC, Samba) usw. die gewünschten Ressourcen hole.

@Thom:
Hmm. Also du meinst ich starte einen lokalen Proxy und dann gehen alle anfragen durch mich selbst durch?
Hört sich ganz gut an. Muss ich mir mal genauer anschauen, wie das zusammenpasst.
Danke schonmal ^^

Wenn jemand noch andere Vorschläge, immer her damit.
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#17

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 00:35
Also du meinst ich starte einen lokalen Proxy und dann gehen alle anfragen durch mich selbst durch?
Interessant ausgedrückt: Aber Ja - das trifft es!
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 10:10
Den Proxy kann man ganz einfach mit TIdHTTPProxyServer umsetzen. Statt den TWebBrowser würde ich die "verbesserte Variante" TEmbeddedWB ( http://www.bsalsa.com ) nehmen. Dort kannst du auch einstellen das alle Requests auf deinen lokalen Proxy (z. B. über Port 8080) umgeleitet werden.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#19

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 12:00
Den Proxy kann man ganz einfach mit TIdHTTPProxyServer umsetzen.
Kann man eben leider nicht in der Originalvariante.
Der macht "nur" das, was dem Namen nach seine Aufgabe ist: Die Anfragen entgegennehmen und weiterleiten. Die Eingiffsmöglichkeiten seitens des Programmierers sind sehr beschränkt. Genau aus diesem Grund entstand in einigen Wochen Arbeit die "aufgebohrte" Variante in dem angesprochenen Thread...
Dort kannst du auch einstellen das alle Requests auf deinen lokalen Proxy (z. B. über Port 8080) umgeleitet werden..
Kann auch der angesprochenen Proxy...
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: TWebBrowser - Kommunikation selbst verrichten

  Alt 13. Jun 2011, 12:51
Den Proxy kann man ganz einfach mit TIdHTTPProxyServer umsetzen.
Kann man eben leider nicht in der Originalvariante.
Der macht "nur" das, was dem Namen nach seine Aufgabe ist: Die Anfragen entgegennehmen und weiterleiten. Die Eingiffsmöglichkeiten seitens des Programmierers sind sehr beschränkt. Genau aus diesem Grund entstand in einigen Wochen Arbeit die "aufgebohrte" Variante in dem angesprochenen Thread...
Mit den Ereignissen
Code:
IdHTTPProxyServer1HTTPBeforeCommand(AContext: TIdHTTPProxyServerContext);
IdHTTPProxyServer1HTTPDocument(AContext: TIdHTTPProxyServerContext; var VStream: TStream);
geht das sehr wohl. Habe es selber schon benutzt.

Dort kannst du auch einstellen das alle Requests auf deinen lokalen Proxy (z. B. über Port 8080) umgeleitet werden..
Kann auch der angesprochenen Proxy...
Was du mir damit sagen willst verstehe ich nicht
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:46 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