Ich sehe diese Begriffe synonym als globale Umgebung für das DOM. Was ist der Unterschied (wenn es einen gibt) und wann sollte ich jeden verwenden?
quelle
Ich sehe diese Begriffe synonym als globale Umgebung für das DOM. Was ist der Unterschied (wenn es einen gibt) und wann sollte ich jeden verwenden?
Window
ist der Hauptstamm des JavaScript-Objekts, auch bekannt als der global object
in einem Browser, kann auch als Stamm des Dokumentobjektmodells behandelt werden. Sie können darauf zugreifen alswindow
window.screen
oder ist nur screen
ein kleines Informationsobjekt über physische Bildschirmabmessungen.
window.document
oder ist nur document
das Hauptobjekt des potenziell sichtbaren (oder noch besser: gerenderten) Dokumentobjektmodells / DOM.
Da window
es sich um das globale Objekt handelt, können Sie auf alle Eigenschaften nur mit dem Eigenschaftsnamen verweisen, sodass Sie nicht aufschreiben window.
müssen. Dies wird von der Laufzeit herausgefunden.
window
mit dem Ansichtsfenster . Awindow
ist das JavaScript-Objekt für die Registerkarte Browser oder<iframe>
(oder veraltet<frame>
). Das Ansichtsfenster ist das Rechteck des gerendertendocument
Fensters innerhalb der Registerkarte oder des Rahmens.Nun, das Fenster ist das erste, was in den Browser geladen wird. Dieses Fensterobjekt hat die meisten Eigenschaften wie Länge, innere Breite, innere Höhe, Name, wenn 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 tatsächlich in das Fensterobjekt geladen und verfügt über Eigenschaften wie Titel, URL, Cookie usw. Was bedeutet das wirklich? Das heißt, wenn Sie auf eine Eigenschaft für das Fenster zugreifen möchten, handelt es sich um window.property. Wenn es sich um document handelt, handelt es sich um window.document.property, das auch kurz als document.property verfügbar ist.
Das scheint einfach genug. Aber was passiert, wenn ein IFRAME eingeführt wird?
quelle
Kurz, mit mehr Details unten,
window
ist der Ausführungskontext und das globale Objekt für das JavaScript dieses Kontextsdocument
enthält das DOM, das durch Parsen von HTML initialisiert wurdescreen
beschreibt den Vollbildmodus der physischen AnzeigeWeitere Informationen zu diesen Objekten finden Sie in den W3C- und Mozilla- Referenzen. Die grundlegendste Beziehung zwischen den drei ist, dass jede Browser-Registerkarte ihre eigene
window
hat und einewindow
hatwindow.document
undwindow.screen
Eigenschaften. Der Browser Registerkartewindow
ist der globale Kontext, sodocument
undscreen
beziehen sich aufwindow.document
undwindow.screen
. Weitere Details zu den drei Objekten finden Sie unten in Flanagans JavaScript: Definitive Guide .window
Jede Browser-Registerkarte verfügt über ein eigenes
window
Objekt der obersten Ebene . Jedes<iframe>
(und veraltete<frame>
) Element hat auch ein eigeneswindow
Objekt, das in einem übergeordneten Fenster verschachtelt ist. Jedes dieser Fenster erhält ein eigenes globales Objekt.window.window
bezieht sich immer aufwindow
, aberwindow.parent
undwindow.top
Fenster zu umschließen beziehen könnte, den Zugang zu anderen Ausführungskontexten zu geben. Zusätzlich zudocument
undscreen
nachstehend beschriebenwindow
umfassen EigenschaftensetTimeout()
undsetInterval()
Binden von Ereignishandlern an einen Timerlocation
Geben Sie die aktuelle URL anhistory
mit Methodenback()
undforward()
Angabe des veränderlichen Verlaufs der Registerkartenavigator
Beschreibung der Browsersoftwaredocument
Jedes
window
Objekt hat eindocument
Objekt, das gerendert werden soll. Diese Objekte werden teilweise verwirrt, weil dem globalen Objekt HTML-Elemente hinzugefügt werden, wenn eine eindeutige ID zugewiesen wird. ZB im HTML-SnippetAuf das Absatzelement kann wie folgt verwiesen werden:
window.holyCow
oderwindow["holyCow"]
document.getElementById("holyCow")
document.body.firstChild
document.body.children[0]
screen
Das
window
Objekt verfügt auch über einscreen
Objekt mit Eigenschaften, die die physische Anzeige beschreiben:Bildschirmeigenschaften
width
undheight
sind der VollbildBildschirmeigenschaften
availWidth
undavailHeight
lassen Sie die Symbolleiste wegDer Teil eines Bildschirms, auf dem das gerenderte Dokument angezeigt wird, ist das Ansichtsfenster in JavaScript. Dies ist möglicherweise verwirrend, da wir den Teil des Bildschirms einer Anwendung als Fenster bezeichnen, wenn wir über Interaktionen mit dem Betriebssystem sprechen. Das
getBoundingClientRect()
Verfahren nachdocument
Elemente wird ein Objekt zurückgeben mittop
,left
,bottom
, undright
Eigenschaften , um die Position des Elements in dem Darstellungsfeld beschreiben.quelle
window.onload
Verwendung von Dokumentobjekten.Das
window
ist das eigentliche globale Objekt.Das
screen
ist der Bildschirm, der Eigenschaften zur Anzeige des Benutzers enthält.Hier
document
befindet sich das DOM.quelle
document
kann auch seinwindow.document
,screen
kann seinwindow.screen
undwindow
kann seinwindow.window
(oderwindow.window.window
) :-Pwindow
es sich um eine globale Variable handelt, die sie zu einer Eigenschaft des globalenwindow
Objekts macht. :-)Das
window
enthält alles, so dass Sie diese Elemente aufrufenwindow.screen
und abrufen könnenwindow.document
. Schauen Sie sich diese Geige an und drucken Sie den Inhalt jedes Objekts hübsch aus: http://jsfiddle.net/JKirchartz/82rZu/Sie können den Inhalt des Objekts auch in folgenden Firebug / Dev-Tools anzeigen:
window
ist die Wurzel von allem,screen
nur Bildschirmabmessungen unddocument
ist das oberste DOM-Objekt. so kann man daran denken , wiewindow
wie ein super- zu seindocument
...quelle
Das Fenster wird als erstes in den Browser geladen. Dieses Fensterobjekt hat die meisten Eigenschaften wie Länge, innere Breite, innere Höhe, Name, wenn es geschlossen wurde, seine Eltern und mehr.
Das Dokumentobjekt ist Ihr HTML-, Aspx-, PHP- oder anderes Dokument, das in den Browser geladen wird. Das Dokument wird tatsächlich in das Fensterobjekt geladen und verfügt über Eigenschaften wie Titel, URL, Cookie usw. Was bedeutet das wirklich? Das heißt, wenn Sie auf eine Eigenschaft für das Fenster zugreifen möchten, handelt es sich um window.property. Wenn es sich um document handelt, handelt es sich um window.document.property, das auch kurz als document.property verfügbar ist.
quelle