Dokumentobjektmodell
Abkürzung | Dom |
---|---|
Erstmals veröffentlicht | 1. Oktober 1998 |
Letzte Version | DOM4[1] 19. November 2015 |
Organisation | World Wide Web Konsortium, Waswg |
Grundstandards | Whatwg Dom Living Standard W3C DOM4 |
Das Dokumentobjektmodell (Dom) ist ein plattformübergreifend und Sprachunabhängig Schnittstelle, die eine behandelt Xml oder Html Dokument als a Baumstruktur wobei jeder Knoten ist ein Objekt einen Teil des Dokuments darstellen. Das DOM repräsentiert ein Dokument mit einem logischen Baum. Jeder Zweig des Baumes endet in einem Knoten, und jeder Knoten enthält Objekte. DOM -Methoden ermöglichen den programmatischen Zugriff auf den Baum. Mit ihnen kann man die Struktur, den Stil oder den Inhalt eines Dokuments ändern.[2] Knoten können haben Event -Handler an sie gebunden. Sobald ein Ereignis ausgelöst ist, werden die Event -Handler ausgeführt.[3]
Die Hauptstandardisierung des DOM wurde von der behandelt World Wide Web Konsortium (W3C), das zuletzt 2004 eine Empfehlung entwickelte. Waswg übernahm die Entwicklung des Standards und veröffentlichte ihn als Lebendes Dokument. Der W3C veröffentlicht jetzt stabile Schnappschüsse des WHITWG -Standards.
Geschichte
Die Geschichte des Dokumentobjektmodells ist mit der Geschichte des "verflochten"Browserkriege"von den späten 1990er Jahren zwischen Netscape Navigator und Microsoft Internet Explorersowie mit denen von JavaScript und Jscript, Der Erste Skriptsprachen weithin implementiert in der JavaScript -Motoren von Internetbrowser.
JavaScript wurde von veröffentlicht von Netscape Communications 1995 innerhalb von Netscape Navigator 2.0. Netscapes Konkurrent, Microsoft, veröffentlicht Internet Explorer 3.0 im folgenden Jahr mit einer Neuauflagen von JavaScript namens JScript. JavaScript und Jscript lassen Web-Entwickler Erstellen Sie Webseiten mit Client-Seite Interaktivität. Die begrenzten Einrichtungen zum Erkennen von Benutzergenerierten Veranstaltungen und das Ändern des HTML -Dokuments in der ersten Generation dieser Sprachen wurde schließlich als "DOM Level 0" oder "Legacy DOM" bekannt. Für die DOM -Stufe 0 wurde kein unabhängiger Standard entwickelt, der jedoch teilweise in den Spezifikationen für HTML 4.
Legacy Dom war in der Art von begrenzt Elemente Das könnte zugegriffen werden. Bilden, Verknüpfung und Bildelemente könnten mit einem hierarchischen Namen verwiesen werden, der mit dem Stammdokumentobjekt begann. Ein hierarchischer Name könnte entweder die Namen oder den sequentiellen Index der durchquerten Elemente verwenden. Zum Beispiel a Formulareingangselement könnte als beide zugegriffen werden document.formname.inputname
oder document.forms [0] .elements [0]
.
Die älter dom-fähige clientseitige Formularvalidierung und einfache Interaktivität der Schnittstelle wie das Erstellen Tooltips.
Im Jahr 1997 veröffentlichten Netscape und Microsoft Version 4.0 von Netscape Navigator bzw. Internet Explorer, was Unterstützung für Unterstützung für Dynamisches HTML (DHTML) Funktionalität, die Änderungen in einem geladenen HTML -Dokument ermöglicht. DHTML erforderte Erweiterungen des rudimentären Dokumentobjekts, das in den Legacy -DOM -Implementierungen verfügbar war. Obwohl die Legacy -DOM -Implementierungen weitgehend kompatibel waren, da Jscript auf JavaScript basierte, wurden die DHTML -DOM -Erweiterungen von jedem Browserhersteller parallel entwickelt und blieben unvereinbar. Diese Versionen des DOM wurden als "Zwischendom" bekannt.
Nach der Standardisierung von ECMaskript, das W3c Die DOM -Arbeitsgruppe begann mit der Ausarbeitung einer Standard -DOM -Spezifikation. Die abgeschlossene Spezifikation, bekannt als "DOM Level 1", wurde Ende 1998 zu einer W3C Microsoft Internet Explorer Version 6 (von 2001),, Oper, Safari und Gecko-basierte Browser (wie Mozilla, Feuerfuchs, Seeaffe und Camino).
Standards
Das W3c Die DOM -Arbeitsgruppe veröffentlichte ihre endgültige Empfehlung und löste sich anschließend im Jahr 2004 auf. Die Entwicklungsbemühungen wanderten auf die Waswg, was weiterhin einen lebenden Standard aufrechterhalten.[4] Im Jahr 2009 haben die Web Applications Group DOM -Aktivitäten am W3C neu organisiert.[5] Im Jahr 2013 aufgrund mangelnder Fortschritte und der bevorstehenden Freilassung von HTML5Die DOM -Stufe 4 -Spezifikation wurde dem neu zugeordnet HTML -Arbeitsgruppe Um seine Fertigstellung zu beschleunigen.[6] In der Zwischenzeit wurde die Webanwendungsgruppe 2015 aufgelöst und DOM Stewardship an die Webplattformgruppe übergeben.[7] Beginnend mit der Veröffentlichung von DOM Level 4 im Jahr 2015 erstellt das W3C neue Empfehlungen, die auf Schnappschüssen des Whatwg -Standards basieren.
- DOM Level 1 lieferte ein vollständiges Modell für eine ganze HTML oder Xml Dokument, einschließlich der Möglichkeit, einen Teil des Dokuments zu ändern.
- DOM Level 2 wurde Ende 2000 veröffentlicht. Es wurde die eingeführt
GetElementById
Funktion sowie eine Ereignismodell und Unterstützung für XML -Namespaces und CSS. - DOM Level 3, veröffentlicht im April 2004, fügte Unterstützung für hinzu XPath und Tastatur Handhabung des Eventssowie eine Schnittstelle für Serialisierung Dokumente als XML.
- DOM Level 4 wurde 2015 veröffentlicht. Es ist eine Momentaufnahme des Living Standard.[8]
Anwendungen
Internetbrowser
Zu machen Ein Dokument wie eine HTML -Seite verwenden die meisten Webbrowser ein internes Modell ähnlich dem Dom. Die Knoten jedes Dokuments sind in a organisiert Baumstruktur, genannt Dombaummit dem obersten Knoten, der als "Dokumentobjekt" bezeichnet wird. Wenn eine HTML -Seite in Browsern gerendert wird, lädt der Browser das HTML in den lokalen Speicher herunter und analysiert sie automatisch, um die Seite auf dem Bildschirm anzuzeigen. Das DOM muss jedoch nicht unbedingt als Baum dargestellt werden,[9] und einige Browser haben andere interne Modelle verwendet.[10]
JavaScript
Wenn eine Webseite geladen wird, erstellt der Browser ein Dokumentobjektmodell der Seite, bei dem es sich um eine objektorientierte Darstellung eines HTML -Dokuments handelt, das als Schnittstelle zwischen JavaScript und dem Dokument selbst fungiert. Dies ermöglicht die Schaffung von Dynamische Webseiten,[11] Denn innerhalb einer Seite kann JavaScript:
- Fügen Sie die HTML -Elemente und -attribute hinzu, ändern und entfernen Sie sie
- Ändern Sie einen der CSS -Stile
- Reagieren Sie auf alle vorhandenen Ereignisse
- neue Ereignisse erstellen
Implementierungen
Da das DOM die Navigation in eine beliebige Richtung (z. B. übergeordnete und vorherige Geschwister) unterstützt und willkürliche Änderungen ermöglicht, muss eine Implementierung zumindest das bisher gelesene Dokument (oder eine analysierte Form davon) pufferen.[12]
Layout -Motoren
Webbrowser verlassen sich auf Layout -Motoren HTML in einen Dom analysieren. Einige Layout -Motoren wie Trident/MSHTMLsind in erster Linie oder ausschließlich mit einem bestimmten Browser wie Internet Explorer verbunden. Andere, einschließlich Blinken, Webkit, und Gecko, werden von einer Reihe von Browsern geteilt, wie z. Google Chrome, Oper, Safari, und Feuerfuchs. Die verschiedenen Layout -Engines implementieren die DOM -Standards in unterschiedlichem Maße der Einhaltung.
Bibliotheken
DOM -Implementierungen:
- libxml2
- MSXML
- Xerces ist eine Sammlung von DOM -Implementierungen in C ++, Java und Perl
- xml.dom zum Python
- XML für <Script> ist eine auf JavaScript-basierte DOM-Implementierung[13]
- Php.gt Dom ist eine serverseitige DOM-Implementierung basierend auf libxml2 und bringt DOM Level 4 -Kompatibilität mit[14] zum Php Programmiersprache
- Domino ist eine serverseitige DOM-Implementierung (node.js) basierend auf Mozillas DOM.Js. Domino wird in der verwendet Mediawiki Stapel mit visueller Redakteur.
- SimpleHtmldom ist ein einfaches HTML -Dokumentobjektmodell in C#, das programmgesteuert HTML -String generieren kann.
APIs, die DOM -Implementierungen aufdecken:
- Jaxp (Java -API für die XML -Verarbeitung) ist eine API für den Zugriff auf DOM -Anbieter
- Lazarus (Kostenloser Pascal IDE) enthält zwei Varianten des DOM - mit UTF -8- und ANSI -Format
Inspektionsinstrumente:
- Dom Inspector ist ein Webentwickler -Tool
Siehe auch
Verweise
- ^ Alle Versionen beziehen sich nur auf W3C DOM.
- ^ "Dokumentobjektmodell (DOM): Definition, Struktur und Beispiel". Ionos digitalguide. Abgerufen 2022-04-21.
- ^ "Dokumentobjektmodell (DOM)". W3c. Abgerufen 2012-01-12.
Das Dokumentobjektmodell ist eine Plattform- und Sprachneutralschnittstelle, mit der Programme und Skripte dynamisch auf den Inhalt, die Struktur und den Stil von Dokumenten zugreifen und aktualisieren können.
- ^ "DOM Standard". Abgerufen 23. September 2016.
- ^ "W3C -Dokumentobjektmodell". Abgerufen 23. September 2016.
- ^ ([email protected]), Philippe Le Hegaret. "Neue Charter für die HTML-Arbeitsgruppe aus Philippe Le Hegaret am 2013-09-30 (ö[email protected] ab September 2013)". Abgerufen 23. September 2016.
- ^ "Pubstatus - Webapps". Abgerufen 23. September 2016.
- ^ "W3C DOM4". Abgerufen 8. Januar 2021.
- ^ "Was ist das Dokumentobjektmodell?". W3c. Abgerufen 2021-09-12.
Das DOM gibt jedoch nicht an, dass Dokumente als Baum oder Hain implementiert werden müssen, und es gibt auch nicht an, wie die Beziehungen zwischen Objekten implementiert werden. Das DOM ist ein logisches Modell, das auf bequeme Weise implementiert werden kann.
- ^ "Modernisierung des Dom -Baumes in Microsoft Edge". Microsoft. 19. April 2017. Abgerufen 2021-09-12.
- ^ "JavaScript HTML DOM". Abgerufen 23. September 2016.
- ^ Kogent Solutions Inc. (2008). Ajax Black Book, neue Ausgabe (mit CD). Dreamtech Press. p. 40. ISBN 978-8177228380.
- ^ "XML für <Script> Cross -Plattform XML -Parser in JavaScript". Abgerufen 23. September 2016.
- ^ "Die moderne DOM -API für PHP 7 -Projekte". 5. Dezember 2021.
Allgemeine Referenzen
- Flanagan, David (2006). JavaScript: Der endgültige Handbuch. O'Reilly & Associates. pp.312–313. ISBN 0-596-10199-6.
- Koch, Peter-Paul (14. Mai 2001). "Das Dokumentobjektmodell: Eine Einführung". Digitales Webmagazin. Archiviert von das Original am 27. April 2017. Abgerufen 10. Januar, 2009.
- Le Hégaret, Philippe (2002). "Das W3C -Dokumentobjektmodell (DOM)" ". World Wide Web Konsortium. Abgerufen 10. Januar, 2009.
- Guisset, Fabian. "Was bringt jede DOM -Ebene?". Mozilla Developer Center. Mozilla -Projekt. Archiviert von das Original am 2. März 2013. Abgerufen 10. Januar, 2009.
Externe Links
- Dom Living Standard durch das Whatwg
- Original W3C DOM Hub von der W3C DOM -Arbeitsgruppe (veraltet)
- Arbeitsgruppe Webplattform (Strom Steward von W3C DOM)