Dokumentengegenstand-Modell

Document Object Model (DOM) ist eine Quer-Plattform und sprachunabhängige Tagung, um zu vertreten und mit Gegenständen im HTML, XHTML und den XML Dokumenten aufeinander zu wirken. Gegenstände im DOM Baum können gerichtet und durch das Verwenden von Methoden auf den Gegenständen manipuliert werden. Die öffentliche Schnittstelle eines DOM wird in seiner Anwendung, Schnittstelle programmierend (API) angegeben.

Geschichte

Die Geschichte des Dokumentengegenstand-Modells wird mit der Geschichte der "Browser-Kriege" des Endes der 1990er Jahre zwischen Netscape Navigator und Microsoft Internet Explorer, sowie mit diesem von JavaScript und JScript, den ersten scripting Sprachen verflochten, die in den Lay-Out-Motoren von WWW-Browsern weit durchzuführen sind.

Vermächtnis DOM

JavaScript wurde durch Netscape Kommunikationen 1996 innerhalb des Netscape Navigators 2.0 befreit. Der Mitbewerber von Netscape, Microsoft, hat Internet Explorer 3.0 später dasselbe Jahr mit einem Hafen von JavaScript genannt JScript veröffentlicht. JavaScript und JScript lassen Webentwickler Webseiten mit der Kundenseite-Zwischentätigkeit schaffen. Die beschränkten Möglichkeiten, um benutzererzeugte Ereignisse zu entdecken und das HTML-Dokument in der ersten Generation dieser Sprachen zu modifizieren, sind schließlich bekannt als "DOM Niveau 0" oder "Vermächtnis DOM" geworden. Kein unabhängiger Standard wurde für das DOM Niveau 0 entwickelt, aber es wurde in der Spezifizierung von HTML4 teilweise beschrieben.

Vermächtnis-DOM wurde in den Arten von Elementen beschränkt, auf die zugegriffen werden konnte. In Form, Verbindung und Bildelementen konnte mit einem hierarchischen Namen Verweise angebracht werden, der mit dem Wurzeldokumentengegenstand begonnen hat. Ein hierarchischer Name konnte entweder von den Namen oder vom folgenden Index der überquerten Elemente Gebrauch machen. Zum Beispiel konnte auf ein Form-Eingangselement entweder als "document.formName.inputName" oder als "document.forms [0].elements [0]" zugegriffen werden.

Das Vermächtnis DOM hat Kundenseite-Form-Gültigkeitserklärung und die populäre Wirkung "der überlappenden Eingabe" ermöglicht.

Zwischen-DOM

1997 haben Netscape und Microsoft Version 4.0 des Netscape Navigators und Internet Explorers beziehungsweise veröffentlicht, Unterstützung für das Dynamische HTML (DHTML), die Funktionalitätsermöglichen-Änderungen zu einem geladenen HTML-Dokument hinzufügend. DHTML hat Erweiterungen auf den rudimentären Dokumentengegenstand verlangt, der im Vermächtnis DOM Durchführungen verfügbar war. Obwohl das Vermächtnis DOM Durchführungen waren seit JScript größtenteils vereinbar, auf JavaScript basiert hat, wurden die DHTML DOM Erweiterungen in der Parallele von jedem Browser-Schöpfer entwickelt und sind unvereinbar geblieben. Diese Versionen des DOM sind bekannt als der "Zwischen-DOM geworden."

Der Zwischen-DOMs hat die Manipulation von Eigenschaften von Cascading Style Sheet (CSS) ermöglicht, die die Anzeige eines Dokumentes beeinflussen. Sie haben auch Zugang zu einer neuen Eigenschaft genannt "Schichten" über das "document.layers" Eigentum (Netscape Navigator) und das "document.all" Eigentum (Internet Explorer) zur Verfügung gestellt. Wegen der grundsätzlichen Inkompatibilitäten im Zwischen-DOMs hat Quer-Browser-Entwicklung das spezielle Berühren für jeden unterstützten Browser verlangt.

Nachfolgende Versionen des Netscape Navigators haben Unterstützung für seinen Zwischen-DOM aufgegeben. Internet Explorer setzt fort, seinen Zwischen-DOM für umgekehrt die Vereinbarkeit zu unterstützen.

Standardisierung

Das Konsortium des World Wide Web (W3C), gegründet 1994, um offene Standards für das World Wide Web zu fördern, hat Netscape Kommunikationen und Microsoft mit anderen Gesellschaften zusammengebracht, um einen Standard für den Browser scripting Sprachen, genannt "ECMAScript" zu entwickeln. Die erste Version des Standards wurde 1997 veröffentlicht. Nachfolgende Ausgaben von JavaScript und JScript würden den ECMAScript Standard für die größere Quer-Browser-Vereinbarkeit durchführen.

Nach der Ausgabe von ECMAScript hat W3C Arbeit an einem standardisierten DOM begonnen. Der DOM anfängliche Standard, bekannt als "DOM Niveau 1," wurde durch W3C gegen Ende 1998 empfohlen. Über dieselbe Zeit hat sich Internet Explorer 5.0 mit der beschränkten Unterstützung für das DOM Niveau 1 eingeschifft. DOM Niveau 1 hat ein ganzes Modell für ein komplettes HTML oder XML Dokument einschließlich Mittel zur Verfügung gestellt, jeden Teil des Dokumentes zu ändern. Non-conformant Browser wie Internet Explorer 4.x und Netscape 4.x wurden noch erst 2000 weit verwendet.

DOM Niveau 2 wurde gegen Ende 2000 veröffentlicht. Es hat die "GetElementById"-Funktion sowie ein Ereignis-Modell und Unterstützung für XML namespaces und CSS eingeführt. DOM Niveau 3, die aktuelle Ausgabe der DOM Spezifizierung, veröffentlicht im April 2004, hat Unterstützung für XPath und das Tastatur-Ereignis-Berühren, sowie eine Schnittstelle hinzugefügt, um Dokumente als XML in Fortsetzungen zu veröffentlichen.

Vor 2005 wurden große Teile von W3C DOM durch allgemeine ECMAScript-ermöglichte Browser, einschließlich Version 6 (2001) von Microsoft Internet Explorer, Oper, Safari und Gecko-basierter Browser (wie Mozilla, Firefox, SeaMonkey und Camino) gut unterstützt.

Anwendungen

WWW-Browser

WWW-Browser verwenden gewöhnlich ein inneres dem DOM ähnliches Modell, um ein Dokument (wie eine HTML-Seite) zu machen. Die DOM APIs werden auch verwendet, um eine Webseite aus dem Code von JavaScript zu untersuchen oder zu modifizieren. Mit anderen Worten ist das Dokumentengegenstand-Modell die Weise, wie JavaScript den Browser-Staat und die HTML-Seite sieht, die es enthält.

Wenn eine HTML-Seite in einem Browser gemacht wird, analysiert der Browser die Preiserhöhung (z.B HTML), heruntergeladen vom Webserver in einen DOM im Gedächtnis grammatisch. Der DOM wird verwendet, um zusätzliche innere Strukturen zu bauen, die verwendet sind, um die Seite im Fenster des Browsers zu zeigen.

Die Knoten jedes Dokumentes werden in einer Baumstruktur, genannt den DOM Baum organisiert. Der höchste Knoten im DOM Baum ist der Dokumentengegenstand. Jeder Knoten hat Null oder mehr Kinder.

Ein Beispiel eines DOM Baums wird unten gezeigt:

|-> Dokument

|-> Element (

|-> Element (

|-> Element (<div>)

|-> Textknoten

|-> Anker

|-> Textknoten

|-> Form

|-> Textkasten

|-> Textgebiet

|-> Radioknopf

|-> Ankreuzfeld

|-> Wählen Aus

|-> Knopf

Durchführungen

Weil DOM Navigation in jeder Richtung (z.B, vorherige und Elternteilgeschwister) unterstützt und willkürliche Modifizierungen berücksichtigt, muss eine Durchführung mindestens das Dokument puffern, das bis jetzt (oder eine grammatisch analysierte Form davon) gelesen worden ist.

Lay-Out-Motoren

WWW-Browser verlassen sich auf Lay-Out-Motoren, um HTML in einen DOM grammatisch zu analysieren. Einige Lay-Out-Motoren wie Trident/MSHTML und werden Presto in erster Linie oder exklusiv mit einem besonderen Browser wie Internet Explorer und Oper beziehungsweise vereinigt. Andere, wie WebKit und Gecko, werden durch mehrere Browser, wie Google-Chrom, Firefox und Safari geteilt. Die verschiedenen Lay-Out-Motoren führen die DOM Standards zu unterschiedlichen Graden des Gehorsams durch.

Bibliotheken

DOM Durchführungen:

  • libxml2
  • MSXML
  • Xerces ist ein C ++ DOM Durchführung mit Java und Perl bindings

APIs, die DOM Durchführungen ausstellen:

  • JAXP (javanische API für XML, der In einer Prozession geht), ist eine API, um auf DOM Versorger zuzugreifen

Siehe auch

  • Ajax — eine Methodik, die DOM in der Kombination mit Techniken verwendet, um Daten wiederzubekommen, ohne eine Seite umzuladen.
  • Anwendungsgegenstand-Modell
  • DOM scripting
  • JDOM — ein javanisches Dokumentengegenstand-Modell für XML, der mit DOM und SAXOFON integriert und parsers verwendet, um das Dokument zu bauen.
  • jQuery
  • JSON
  • Prototype.js
  • RapidXml — ist ein Versuch, den schnellsten XML parser möglicher verwendender moderner C ++ zu schaffen.
  • SAXOFON — Serienzugang parser API für XML, eine Alternative zu DOM.
  • SXML — ein Modell, um XML und HTML in der Form von S-Ausdrücken zu vertreten.
  • TinyXml — effiziente mit der Plattform unabhängige XML Bibliothek für C ++.

Links

lässt

Dubliner Kern / Designmuster
Impressum & Datenschutz