383 Stimmen

Was ist der Unterschied zwischen Fenster, Bildschirm und Dokument in JavaScript?

Ich sehe, dass diese Begriffe austauschbar als globale Umgebung für das DOM verwendet werden. Worin besteht der Unterschied (falls es einen gibt) und wann sollte ich beide Begriffe verwenden?

400voto

Peter Aron Zentai Punkte 10582

window ist das wichtigste JavaScript-Objekt Root, auch bekannt als die global object in einem Browser und kann auch als Wurzel des Dokumentobjektmodells behandelt werden. Sie können auf sie zugreifen als window .

window.screen oder einfach screen ist ein kleines Informationsobjekt über die physischen Abmessungen des Bildschirms.

window.document oder einfach document ist das Hauptobjekt des potenziell sichtbaren (oder besser: gerenderten) Dokumentobjektmodells/DOM.

Seit window ein globales Objekt ist, können Sie auf alle Eigenschaften dieses Objekts nur mit dem Eigenschaftsnamen verweisen - Sie müssen also nicht window. - wird es von der Laufzeit ermittelt.

166voto

atazmin Punkte 3073

Nun, das Fenster ist das erste, das in den Browser geladen wird. Dieses Fensterobjekt hat die meisten Eigenschaften wie Länge, innerWidth, innerHeight, Name, ob es geschlossen wurde, seine Eltern und mehr.

Was ist dann mit dem Dokumentobjekt? Das Dokumentobjekt ist Ihr html-, aspx-, php- oder anderes Dokument, das in den Browser geladen wird. Das Dokument wird innerhalb des Fensterobjekts geladen und verfügt über Eigenschaften wie Titel, URL, Cookie usw. Was bedeutet das eigentlich? Das heißt, wenn Sie auf eine Eigenschaft des Fensters zugreifen wollen, ist es window.property, wenn es sich um ein Dokument handelt, ist es window.document.property, das auch kurz als document.property verfügbar ist.

dom

Das scheint einfach zu sein. Aber was passiert, wenn ein IFRAME eingeführt wird?

iframe

56voto

Niet the Dark Absol Punkte 310257

En window ist das eigentliche globale Objekt.

En screen ist der Bildschirm, er enthält Eigenschaften über den Bildschirm des Benutzers.

En document ist der Ort, an dem sich das DOM befindet.

15voto

JKirchartz Punkte 16803

En window enthält alles, daher können Sie window.screen y window.document um diese Elemente zu erhalten. Sehen Sie sich diese Fiddle an, die den Inhalt jedes Objekts hübsch ausdruckt: http://jsfiddle.net/JKirchartz/82rZu/

Sie können den Inhalt des Objekts auch in Firebug /Entwicklungstools wie dieses:

console.dir(window);
console.dir(document);
console.dir(screen);

window ist die Wurzel von allem, screen nur die Abmessungen des Bildschirms hat, und document ist das oberste DOM-Objekt. Sie können es sich also vorstellen als window wie ein Super- document ...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X