Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Webbrowser programmieren (https://www.delphipraxis.net/113782-webbrowser-programmieren.html)

Todd 14. Mai 2008 16:33


Webbrowser programmieren
 
Hallo Leute,

mich würde interessieren, wie man mit Delphi einen eigenen Web-Browser programmieren kann, ohne die Komponente TCppWebBrowser zu verwenden. Wenn ich das richtig verstanden habe, setzt diese ja nur auf einen Internet Explorer auf, ist also nicht als eigenständiger WebBrowser ala FireFox oder Opera zu verstehen.

Korrigiert mich wenn ich mich irre...

Ein paar kleine Stichwörte reichen schon, nur damit ich in die richtige Richtung suchen und mich schlau machen kann.

Danke und LG
Todd

new32 14. Mai 2008 16:41

Re: Webbrowser programmieren
 
Sicher kannst du das....

Aber eben nur mit sehr viel Arbeit!!!

HTML analysieren dann Dokument zeichnen...

Aber wie gesagt: sehr viel Arbeit

edit:
um mal zu sehen, was man alles machen muss kannst du dir auch den firefox-quelltext runterladen!
is zwar nicht in Delphi aber dann weißt du ungefähr, was auf dich zukommt!

Matze 14. Mai 2008 16:44

Re: Webbrowser programmieren
 
Hinzu kommen die Interpreation von CSS, Möglichkeiten, JavaScript, Java, Flash etc. einzubinden bzw. darzustellen, Verschlüsselung (HTTPS) und vieles vieles mehr.

Du kannst dir ja mal den Quellcode von Firefox ansehen, dann siehst du, was dahinter steckt. ;)

Grüße

Phoenix 14. Mai 2008 16:46

Re: Webbrowser programmieren
 
Zitat:

Zitat von Todd
mich würde interessieren, wie man mit Delphi einen eigenen Web-Browser programmieren kann, ohne die Komponente TCppWebBrowser zu verwenden.

Am besten gar nicht.
Das ist ungeheuer Komplex. Du müsstest erstmal intensiv gebrauch von den Indys machen, um mit deren Hilfe das http Protokoll inkl. Cookie-Verwaltung etc. neu zu implementieren. Allein nur, um einen gültigen Request an einen WebServer zu schicken.

Dann musst Du einen eigenen Parser für HTML (sämtliche Versionen) und XHTML (auch sämtliche Versionen) schreiben. Parser sind auch ne verdammt komplexe geschichte.

Anhand des aus dem Quelltext aufgebauten DOM's musst Du dann erstmal nötige Dateien wie Bilder, CSS- und Javascript-Dateien nachladen.

Dann brauchst Du Parser für CSS und Parser sowie Interpreter für Javascript. Viel Spass dabei.

Danach musst Du natürlich noch aus dem DOM heraus die heruntergeladene Seite zeichnen.

Ganz ehrlich: Finger weg. Es gibt genug Browser die das mehr oder weniger gut bzw. schlecht können, da braucht es nicht noch einen neuen Browser.

new32 14. Mai 2008 16:48

Re: Webbrowser programmieren
 
Zitat:

Zitat von Matze
Verschlüsselung (HTTPS)

das kann man ja z.b. durch verwendung von libcurl umgehen

Klaus01 14. Mai 2008 16:50

Re: Webbrowser programmieren
 
Hallo,

wenn Du nicht den TWebBrowser nutzen willst..
Wäre dann vielleicht das ActiveX Control für Mozilla
etwas für Dich.

Grüße
Klaus

Die Muhkuh 14. Mai 2008 16:51

Re: Webbrowser programmieren
 
Setzt allerdings voraus, dass es auf dem Zielrechner installiert ist ;)

Medium 14. Mai 2008 16:53

Re: Webbrowser programmieren
 
Zitat:

Zitat von new32
Zitat:

Zitat von Matze
Verschlüsselung (HTTPS)

das kann man ja z.b. durch verwendung von libcurl umgehen

Klar, es gibt sicherlich für viele Aufgaben schon fertige oder gute Basiskomponenten. Wenns aber darauf hinausläuft, das Werk anderer zusammenzustricken, kann ich auch gleich den Firefox/Opera/bla nehmen. Ein Browser ist ein Riesen-Okolyt, und ich würde es allein schon deswegen nicht angehen, weil man sich ne Menge grauer Haare allein schon mit der Behandlung von etlichen Einzelfällen einhandeln wird, um insbesondere auch die Darstellung von nicht ganz so Standardkonformen Seiten überhaupt zu ermöglichen (was völlig aus der Hüfte geschätzt denke ich gut 70%, eher mehr, aller Websites ausmachen dürfte).

Jakob Ullmann 14. Mai 2008 16:55

Re: Webbrowser programmieren
 
Nun, bei der THTMLViewer-Komponente (pbear.com) gibt's als kleine Demo nen Browser. Der arbeitet mit Indy und THTMLViewer, aber der Browser kann halt auch kein CSS oder JavaScript; ganz zu schweigen von Formularen oder Videos.

PS: Wo bekommt man den Quelltext von Firefox her? Suche schon länger danach. :gruebel:
PPS: Das ist dann ja auch nichts anderes, als TWebbrowser zu verwenden, nur halt mir Firefox, aber er will es ja selber schreiben.
PPPS: Stimmt. Selbst Google ist nicht standardkonform.

new32 14. Mai 2008 17:00

Re: Webbrowser programmieren
 
Zitat:

Zitat von Medium
Klar, es gibt sicherlich für viele Aufgaben schon fertige oder gute Basiskomponenten. Wenns aber darauf hinausläuft, das Werk anderer zusammenzustricken, kann ich auch gleich den Firefox/Opera/bla nehmen

willst du das Rad jedes mal neu erfinden?

FAlter 14. Mai 2008 17:21

Re: Webbrowser programmieren
 
Hi,

Zitat:

Zitat von Jakob Ullmann
Nun, bei der THTMLViewer-Komponente (pbear.com) gibt's als kleine Demo nen Browser. Der arbeitet mit Indy und THTMLViewer, aber der Browser kann halt auch kein CSS oder JavaScript; ganz zu schweigen von Formularen oder Videos.

Naja, CSS geht schon. Nur ein wenig eigenartig im Verhalten, so wird bei MediaWikis immer das Print-CSS genommen. Formulare sollten auch gehen. Zumindest, wenn man es richtig macht. Sicherlich hat die pbear-Komponente viele Schwachstellen, aber wenn man von anderen ActiveX-Komponenten unabhängig sein will, ist es schon eine Überlegung wert. Schwer ist es jedenfalls nicht mehr, wenn man mit Indy und TFrameBrowser schon alles hat. Man muss sehen, wie viel man will, und bereit sein, die gröbsten Bugs selbst auszubügeln, da die Komponente nicht mehr weiterentwickelt wird (dafür gibts die jetzt kostenlos :) ).

Mfg
FAlter

smallsmoker 14. Mai 2008 17:26

Re: Webbrowser programmieren
 
@Jakob Ullmann: guck mal hierund hier ...

mfg smallsmoker

Todd 14. Mai 2008 19:56

Re: Webbrowser programmieren
 
Hallo,

erstmal vielen Dank für alle die hier versucht haben, das ganze zu beschreiben. Was man alles machen müsste und wie dies evtl. zu realisieren ist.

Mein Ziel war es nicht, einen neuen Browser zu programmieren, sondern eher die Ideen, die dahinter stecken zu verstehen. Und natürlich ob man dazu Delphi als Programmierumgebung verwenden könnte.

Eine weitere Frage wäre, wie das mit den TCppWebBrowser ist. Wenn dieser nur auf dem Internet Explorer aufsitzt, wie ist es dann mit der Sicherheit? Bekomme ich quasi einen IE + selbstprogrammierte Raffinessen oder bekomme ich einen IE mit heruntergelassenen Hosen?

mkinzler 14. Mai 2008 19:58

Re: Webbrowser programmieren
 
Es gibt auch Wrapper um die GRE.

Medium 15. Mai 2008 23:43

Re: Webbrowser programmieren
 
Zitat:

Zitat von new32
willst du das Rad jedes mal neu erfinden?

:arrow:
Zitat:

Zitat von Todd
Mein Ziel war es nicht, einen neuen Browser zu programmieren, sondern eher die Ideen, die dahinter stecken zu verstehen. Und natürlich ob man dazu Delphi als Programmierumgebung verwenden könnte.


So hatte ich das Vorhaben verstanden, und wenn ich verstehen will wie das Rad exakt funktioniert, gibt es nicht besseres als es neu zu erfinden ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz