Einführung

Was ist das HTML-BOM?

Das BOM (Browser Object Model) ist eine Eigenschaft von Browsern, die es Skripten erlaubt, mit dem Browser zu interagieren. Das BOM ist keine standardisierte Schnittstelle und kann von Browser zu Browser variieren. Es besteht aus den Objekten „document“, „screen“, „location“ „history“ und „navigator“, die wiederum zum Objekt „window“ gehören. Über diese Objekte kann das Browser-Fenster manipuliert und dessen Eigenschaften ausgelesen werden. Ein Teil des BOM ist das DOM (Document Object Model), das durch das „document“-Objekt repräsentiert wird:

Einsatzgebiete des BOM

Das „windows“-Objekt wird von allen namhaften Browsern unterstützt. Mit JavaScript kann auf das „windows“-Objekt zugegriffen und so mit dem Browser-Fenster interagiert werden. Ein einfaches Beispiel ist das Auslesen der Größe des Browser-Fensters mit „innerHeight“ und „innerWidth“:

HTML-Datei:

Ergebnis:

Webseiten mit HTML, CSS und JavaScript

Client-Server-Prinzip

Die Webseiten im World Wide Web bestehen i. d. R. aus HTML-, CSS- und JavaScript-Dateien, die von sog. Webservern bereitgestellt werden. Für das Anfragen, Empfangen und Darstellen von Webseiten werden Webbrowser verwendet. Für die Kommunikation zwischen Webserver und Webbrowser wird das Protokoll HTTP, bzw. die verschlüsselnde Variante HTTPS, verwendet.

Browser-Engine

Das Programm, das innerhalb eines Browsers den HTML-, CSS- und JavaScript-Code in eine darstellbare Webseite umwandelt, nennt sich Browser-Engine (auch Renderer oder Rendering-Engine). Die Stylesheets werden i. d. R. mit CSS beim Webdesign zusammen mit den HTML-Dokumenten erstellt. Wird keine CSS-Datei angegeben, verwenden Browser ihre eigenen Standard-Stylesheets. Eine Browser-Engine verwendet die Struktur und semantische Definitionen der Webseiten-Elemente aus dem HTML-Dokument und die Design-Definitionen aus der CSS-Datei und erstellt daraus die eigentliche Webseite.

Parser

Der Vorgang bei dem aus dem HTML-Dokument die Webseiten-Struktur entsteht wird als Parsen bezeichnet. Auch das Umsetzen der Definitionen aus dem CSS-Dokument wird als Parsen bezeichnet. Somit gibt es für die HTML-Dokumente und für die CSS-Dokumente in der Browser-Engine jeweils einen Parser.

Document Object Model

Beim HTML-Parsing wird basierend auf dem HTML-Dokument ein sog. „Document Objekt Model“ (kurz DOM) erstellt. Das DOM stellt die Webseiten-Struktur als hierarchischen Baum dar. Mit einer von Browsern unterstützten Programmiersprache (z. B. JavaScript), kann über das DOM auf die einzelnen Elemente einer Webseite zugegriffen und diese manipuliert werden.

Aufbau einer Browser-Engine

Eine Webseite besteht i. d. R. aus HTML-, CSS- und JavaScript-Dateien, die von einem Webserver an einen Webbrowser übertragen und von der Browser-Engine des Webbrowsers zur eigentlichen Webseite zusammengesetzt werden. Eine Browser-Engine besteht zusammenfassend mindestens aus einem HTML-Parser, einem CSS-Parser, einer JavaScript-Engine und einer Schnittstelle (API), über die der Browser auf die Browser-Engine zugreift. Durch diesen flexiblen Aufbau ist es auch möglich, dass verschiedene Browser die selbe Browser-Engine verwenden können.

Die bekanntesten Browser-Engines

Die folgende Tabelle zeigt die bekanntesten Browser-Engines und ihre hauptsächliche Verwendung:

Browser-Engine Verwendung Bemerkungen
WebKit Safari, (Chrome bis Vers. 27)  
Blink Opera (ab Vers. 15), Chrome (ab Vers. 28) 2013 von Webkit abgespalten
Gecko Firefox  
Trident Internet-Explorer für Windows  
Tasman Internet-Explorer für Macintosh  
EdgeHTML Microsoft-Edge für Windows 10  

Quellen