implementation | NN 6 IE 5(Mac)/6(Win) DOM 1 | ||
Das implementation-Objekt (die JavaScript-Referenz für das W3C-Objekt DOMImplementation) repräsentiert bis zu einem gewissen Grad die Umgebung, die den Dokumentcontainer bildet – in unserem Fall den Browser. Sie erreichen dieses Objekt über die document.implementation-Eigenschaft. |
|||
Anhand der Methoden des Objekts können Sie feststellen, welche DOM-Module laut Browser unterstützt werden. In Netscape 6 stellt dieses Objekt auch ein Gateway zum Erstellen virtueller W3C-Document- und -DocumentType-Objekte außerhalb des aktuellen Dokumentbaums dar. Somit können Sie in Netscape 6 anhand der Eigenschaft document.implementation ein nicht dargestelltes Dokument für externe XML-Dokumente erzeugen. |
|||
Objektmodellreferenz | |||
document.implementation |
|||
Objektspezifische Eigenschaften | |||
Keine. |
|||
Objektspezifische Methoden | |||
|
|||
Objektspezifische Ereignisbehandlungsroutineneigenschaften | |||
Keine. |
createDocument( ) | NN 6 IE nicht zutreffend DOM 2 |
createDocument("namespaceURI", "qualifiedName", docTypeReference) | |
Gibt eine Referenz auf ein neu erstelltes virtuelles W3C-DOM-Document-Objekt (nicht zu verwechseln mit der document-Node eines HTML-Dokuments) zurück. Netscape 6 erweitert dieses Document-Objekt um eine load( )-Methode, die das Laden von XML-Dokumenten in den Browser ermöglicht, obwohl sie für den Benutzer unsichtbar sind. Dadurch sind Skripts in der Lage, auf den Dokumentbaum des XML-Dokuments als Datenquelle für die Darstellung von Informationen im HTML-Dokument zuzugreifen. Wenn Sie ein externes XML-Dokument laden, können Sie das Document-Objekt mit leeren Werten für die drei Parameter erstellen: var myXDoc = document.implementation.createDocument("", "", null); |
|
Beim Laden des externen Dokuments werden alle Belange im Hinblick auf den Namespace und den DOCTYPE durch den Inhalt des Dokuments gesteuert. Ein Beispiel hierzu finden Sie in Kapitel 5, Abschnitt 5.9.2. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Referenz auf ein leeres Document-Objekt. |
createDocumentType( ) | NN 6 IE nicht zutreffend DOM 2 |
createDocumentType("qualifiedName", "publicID", "systemID") | |
Gibt eine Referenz auf ein neu erstelltes virtuelles W3C-DOM-DocumentType-Objekt zurück. Sie können das von dieser Methode zurückgegebene Objekt an die Methode DocumentImplementation.createDocument( ) übergeben. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Referenz auf ein DocumentType-Objekt, das noch nicht mit einem Document-Objekt verknüpft ist. |
hasFeature( ) | NN 6 IE 5(Mac)/6(Win) DOM 1 |
hasFeature("feature", "version") | |
Gibt den Booleschen Wert true zurück, wenn die Browseranwendung das angegebene W3C-DOM-Modul in der entsprechenden Version unterstützt (d. h. mit den erforderlichen Spezifikationen dieses Moduls konform ist). Die eng mit dieser Methode verwandte isSupported( )-Methode führt denselben Test mit einer einzelnen Node durch und ermöglicht Ihnen festzustellen, ob eine Funktion für den aktuellen Nodetyp unterstützt wird. Die Parameterwerte für diese beiden Methoden sind identisch. |
|
Es obliegt dem Browserhersteller sicherzustellen, dass das im Browser implementierte DOM mit den einzelnen Modulen konform ist, bevor der Browser autorisiert wird, für ein Modul den Wert true zurückzugeben. Dies bedeutet natürlich nicht notwendigerweise, dass die Implementierung fehlerfrei oder mit anderen Implementierungen konsistent ist. Caveat Scriptor. |
|
Theoretisch können Sie mithilfe dieser Methode prüfen, ob ein bestimmtes Modul unterstützt wird, bevor Sie auf eine Eigenschaft zugreifen oder eine Methode aufrufen. Das folgende Skriptfragment aus dem Head-Abschnitt eines Dokuments stellt eine dynamische Verknüpfung mit einer anderen externen Stylesheet-Datei her, um "echte" CSS2-Unterstützung bereitzustellen: var cssFile; if (document.implementation.hasFeature("CSS", "2.0")) { cssFile = "styles/corpStyle2.css"; } else { cssFile = "styles/corpStyle1.css"; } document.write(<link rel='stylesheet' type='text/css' href='" + cssFile + "'>");" |
|
Diese browserweite Methode wird von mehr Browsern unterstützt als die elementspezifische Methode, sodass sie von mehr Entwicklern rascher genutzt werden dürfte. |
|
Parameter | |
|
|
Zurückgegebener Wert | |
Boolescher Wert: true | false. |