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) |
closed | | Nichtexistenz eines Fensters | | |
defaultStatus | | Statuszeile | | "" |
name | | Fenster- oder Framename | | |
Geometrie |
innerHeight | | lichte Höhe | | |
innerWidth | | lichte Breite | | |
outerHeight | | äußere Höhe | | |
outerWidth | | äußere Breite | | |
pageXOffset | | Lage linker Rand | | |
pageYOffset | | Lage oberer Rand | | |
|
|
Unterobjekte des Objekts window |
Unterobjekt | | Bedeutung |
top | | höchster Rahmen |
parent | | übergeordneter Rahmen |
frames | | Array aller untergeordneten Rahmen |
document | | Dokumentinhalt |
event | | Ereignissteuerung |
history | | Geschichte bereits besuchter Seiten |
location | | URL-Steuerung |
Leisten |
locationbar | | URL-Leiste |
menubar | | Menüleiste |
personalbar | | persönliche Adreßleiste |
scrollbars | | Scrolleisten |
statusbar | | Statusleiste |
toolbar | | Werkzeugleiste |
|
|
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
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
|