molily: testen, ob Objekt eine Funktion kennt, ohne eine Instanz

Beitrag lesen

Hallo,

if (document.getElementsByTagName("html")[0].hasChildNodes) alert ("hasChildNodes");
sollte in jedem Dokument selbst vor dem Laden eines Javascript-Codes bereits ausführbar sein.
Gute Idee, aber document.documentElement ist wohl einfacher als document.getElementsByTagName("html")[0].

document.body wäre noch kürzer ;-)

document.body ist erst beim Eintreten des load-Events verfügbar, das meinte Ingo wohl.
Das heißt, wenn du Tests *während* dem Laden der Seite durchführen willst bzw. du nicht unbedingt warten willst, bis der load-Event feuert, kannst du nicht mit document.body und Knoten unterhalb von body testen. das HTML-Element sollte schon während des Ladens zur Verfügung stehen.

Wie sieht es da aus mit der Browser-Unterstützung?
IE ab mind. 5.0, Gecko 1.0.6, Opera 8 kennen document.documentElement und document.body,
Opera 7.53 nur document.documentElement.

Äh, Opera 7.53 kennt kein document.body? Meinst du, er kennt nur document.body, nicht document.documentElement? Erscheint mir wahrscheinlicher.

Wie sieht es mit anderen Browsern (Safari, Konqueror) aus?

Safari: keine Ahnung, mit Sicherheit schon. Der neueste Konqueror 3.4.1 kann es, sicher auch viele vorher, schließlich ist documentElement DOM 1.0 von 1998. Auf Wunsch kann ich Konqueror 3.1 testen.

Mathias