JavaScript - Tutorial - Objektreferenz - Das window-Objekt

window
frames
document
all
style
anchors
applets
embeds
forms
elements
options
images
layers
links
location
event
history

Das window-Objekt beinhaltet alle Information über das Fenster oder den Rahmen, in dem sich die jeweilige HTML-Seite samt Scripts befindet. Es beinhaltet außerdem Information und Funktionen, die eine Manipulation des Seiteninhalts oder einzelner Objekte erlaubt.
Weitere Objekte gleichen Typs heißen
- top (Oberstes Fenster falls Frames vorhanden sind, sonst gleich window)
- parent (Übergeordneter Rahmen falls Frames vorhanden sind, sonst gleich window)
- frames (Array aller untergeordneten Rahmen)
Die Struktur dieser Objekte wird durch den Aufbau der zugehörigen HTML-Seite bestimmt. Neue Fenster lassen sich mit JavaScript anlegen, aus verständlichen Gründen erlaubt so mancher Browser dem Nutzer, diese Möglichkeit zu verbieten. Einige Nutzer haben sich beim Ausführen verschiedener Aktionen auf zweifelhaften Seiten nur durch kompletten Browser-Abschuß einer Flut sich öffnender Fenster erwehren können. Die Option der automatischen Öffnung weiterer Fenster sollte man daher sparsam bis gar nicht in Anspruch nehmen, ich für meinen Teil verbiete dies meinem Konqueror.

Für den Umgang mit Frames befindet sich ein Beispiel im Anhang C.
(funktioniert unter Netscape4.7x, Netscape6.1/Mozilla, Konqueror, MSIE)

Attribute des Objekts window
Attribut Bedeutung  Wert (wird bei deaktiviertem JavaScript nicht angezeigt)
closedNichtexistenz eines Fensters
defaultStatusStatuszeile""
nameFenster- oder Framename
Geometrie
innerHeightlichte Höhe
innerWidthlichte Breite
outerHeightäußere Höhe
outerWidthäußere Breite
pageXOffsetLage linker Rand
pageYOffsetLage oberer Rand


Unterobjekte des Objekts window
Unterobjekt Bedeutung
tophöchster Rahmen
parentübergeordneter Rahmen
framesArray aller untergeordneten Rahmen
documentDokumentinhalt
eventEreignissteuerung
historyGeschichte bereits besuchter Seiten
locationURL-Steuerung
Leisten
locationbarURL-Leiste
menubarMenüleiste
personalbarpersönliche Adreßleiste
scrollbarsScrolleisten
statusbarStatusleiste
toolbarWerkzeugleiste


Funktionen des Objekts window
Funktion Bedeutung
Fensteraktionen
back()in History zurückgehen
blur()Fenster verlassen
close()Fenster schließen
focus()Fenster aktivieren
forward()in History vorangehen
home()Startseite aufrufen
open(URL,name,options) neues Fenster öffnen
URL: URL-string
name: Name-string des neuen Fensters
options: optionale Attribute, siehe Erklärungen im Beispielscript
Als Rückgabewert wird eine Objektreferenz auf das neue Fenster zurückgegeben.
print()Seiteninhalt ausdrucken
stop()Ladevorgang abwürgen
Geometrie
moveBy(x,y)relativ verschieben
moveTo(x,y)absolut verschieben
resizeBy(width,height)Größe relativ verändern
resizeTo(width,height)Größe absolut verändern
scrollBy(horz,vert)Fensterinhalt relativ scrollen
scrollTo(horz,vert)Fensterinhalt absolut scrollen
Dialog
alert(string)Alarmmeldung erzeugen
confirm(string)Fragt nach Zustimmung mit Ja/Nein oder OK/Abbrechen
prompt(string,default)Abfrage einer Zeichenkette
Inhaltsoperationen
find(searchstring,case,backwards) Textsuche im Fenster
searchstring: Suchtext
case: Groß-Kleinschreibung beachten (true/false)
backwards: rückwärts suchen (true/false)
Ereignisüberwachung
captureEvents(event)Überwachung bestimmter Ereignisse veranlassen
disableExternalCapture()Fremdüberwachung verbieten
enableExternalCapture()Fremdüberwachung erlauben
handleEvent(event)ruft den standard-Eventhandler auf
releaseEvents(event)Überwachung bestimmter Ereignisse freigeben
routeEvent(event)Ereignis an Fenster weiterleiten
Zeitsteuerung
setInterval(action,elapse) fortlaufende zeitgesteuerte Wiederholung eines Befehls veranlassen
action: Befehlstext - elapse: Zeitintervall in Millisekunden
gibt ein Interval-Handle (Nummer oder Objekt) zurück
setTimeout(action,elapse) einmalige zeitgesteuerte Ausführung eines Befehls veranlassen
action: Befehlstext - elapse: Zeitintervall in Millisekunden
gibt ein Timeout-Handle (Nummer oder Objekt) zurück
clearInterval(interval) fortlaufende zeitgesteuerte Wiederholung eines Befehls beenden
interval: von setInterval erzeugtes Handle (Nummer oder Objekt)
clearTimeout(timeout) eimalige zeitgesteuerte Ausführung eines Befehls abwürgen
timeout: von setTimeout erzeugtes Handle (Nummer oder Objekt)


Benutzung der Funktionen von window-Objekten

(nur wenn im aktuellen Browser erlaubt)

Hinweis:
Es sollte so programmiert werden, daß immer nur eine mit setInterval oder setTimeout erzeugte Zeitschleife gleichzeitig läuft, da sich manche Browser an mehreren gleichzeitig laufenden Zeitschleifen verschlucken.
Außerdem sollte dem zyklischen Aufruf von setTimeout der Vorzug vor dem einmaligen Aufruf von setInterval gegeben werden, da manche Browser vor dem erneuten Aufruf der übergebenen Funktion nicht prüfen, ob der vorhergehende Durchgang bereits abgeschlossen ist. Das kann zu ziemlich krassem Durcheinander auf der Seite führen und den gesamten Browser fast bis zum Stillstand abbremsen. Also besser am Ende der aufzurufenden Funktion immer wieder setTimeout aufrufen, dann kann man sicher sein, daß der Browser sich nicht verschluckt.

Autor: Ulrich Kritzner