SELFHTML/Quickbar JavaScript Objektreferenz

| ## window
| window: Allgemeines zur Verwendung Eigenschaften: closed (geschlossenes Fenster) defaultStatus (Normalanzeige in der Statuszeile) innerHeight (Höhe des Anzeigebereichs) innerWidth (Breite des Anzeigebereichs) locationbar (URL-Adreßzeile) menubar (Menüleiste) name (Fenstername) outerHeight (Höhe des gesamten Fensters) outerWidth (Breite des gesamten Fensters) pageXOffset (Fensterstartposition von links) pageYOffset (Fensterstartposition von oben) personalbar (Zeile für Lieblingsadressen) scrollbars (Scroll-Leisten) statusbar (Statuszeile) status (Inhalt der Statuszeile) toolbar (Werkzeugleiste) Methoden: alert() (Dialogfenster mit Infos) back() (zurück in History) blur() (Fenster verlassen) captureEvents() (Ereignisse überwachen) clearInterval() (zeitliche Anweisungsfolge abbrechen) clearTimeout() (Timeout abbrechen) close() (Fenster schließen) confirm() (Dialogfenster zum Bestätigen) disableExternalCapture() (Fremdüberwachung verhindern) enableExternalCapture() (Fremdüberwachung erlauben) find() (Text suchen) focus() (Fenster aktiv machen) forward() (vorwärts in History) handleEvent() (Ereignis übergeben) home() (Startseite aufrufen) moveBy() (bewegen mit relativen Angaben) moveTo() (bewegen mit absoluten Angaben) open() (neues Fenster öffnen) print() (ausdrucken) prompt() (Dialogfenster für Werteingabe) releaseEvents() (Ereignisse abschließen) resizeBy() (Größe verändern mit relativen Angaben) resizeTo() (Größe verändern mit absoluten Angaben) routeEvent() (Event-Handler-Hierarchie durchlaufen) scrollBy() (Scrollen um Anzahl Pixel) scrollTo() (Scrollen zu Position) setInterval() (zeitlische Anweisungsfolge setzen) setTimeout() (Timeout setzen) stop() (abbrechen) Unterobjekte: document event history location

## window: Allgemeines zur Verwendung

Das Objekt `window` (Fenster) ist das oberste Objekt in der Objekthierarchie von JavaScript, denn es ist gewissermaßen der "Container" für alles, was in einem Anzeigefenster des WWW-Browsers angezeigt werden kann. Über das Objekt `window` können Sie das Dokumentfenster abfragen und kontrollieren. Ferner können Sie neue Fenster definieren. Dabei können Sie auch die Fenstereigenschaften frei bestimmen.

Das nicht selbst erzeugte, vorhandene Hauptanzeigefenster des WWW-Browsers können Sie über die reservierten Fensternamen `window` oder `self` ansprechen. Auf die Namen `window` und `self` lassen sich alle Eigenschaften und Methoden des window-Objekts anwenden.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    window.defaultStatus = "Meine Homepage";
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel belegt die ständige Anzeige der Statuszeile des aktuellen Anzeigefensters mit dem Wert `"Meine Homepage"`. Dazu wird die Fenstereigenschaft defaultStatus aufgerufen.

`window` oder `self` können auch weggelassen werden. So hat `window.moveTo(200,100)` die gleiche Wirkung wie `moveTo(200,100)`. Der Übersichtlichkeit halber ist es jedoch besser, den vordefinierten Fensternamen mit anzugeben.

Auch Frame-Fenster innerhalb eines Frame-Sets stellen aus Sicht von JavaScript eigene Fenster dar. Lesen Sie dazu jedoch den Abschnitt über das Objekt frames.

Sie können mit Hilfe von JavaScript nicht nur vorhandene Fenster ansprechen, sondern auch neue Fenster erzeugen und diese unter ihrem eigenen Namen ansprechen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function NeuFenster()
    {
     MeinFenster =
     window.open("datei2.htm", "Zweitfenster", "width=300,height=200,scrollbars");
     MeinFenster.focus();
    }
    </script>
    </head><body>
    <a href="javascript:NeuFenster()">Neues Fenster</a>
    </body></html>

### Erläuterung:

Die Beispieldatei enthält einen Verweis. Beim Anklicken dieses Verweises wird die JavaScript-Funktion `NeuFenster()` aufgerufen. Diese Funktion öffnet ein neues, kleines Browser-Fenster und zeigt darin die Datei `datei2.htm` an. Einzelheiten zum Öffnen neuer Fenster werden bei der Methode open() beschrieben. Ein solches Fenster ist nach dem Erzeugen unter dem Namen ansprechbar, in dem die Fensterinstanz gespeichert ist. Im Beispiel ist das der Name der Variablen `MeinFenster`. Auf diesen Namen lassen sich alle Eigenschaften und Methoden des window-Objekts anwenden.

### Beispiel:

    <a href="javascript:MeinFenster.close()">Fenster zumachen</a>

### Erläuterung:

Im Beispiel wird das zuvor geöffnete Fenster beim Klicken auf den Verweis wieder geschlossen. Zuständig dafür ist die Methode close(). Das Fenster wird dabei mit seinem Instanznamen angesprochen, im Beispiel also mit dem Namen der Variablen `MeinFenster`, mit der es zuvor erzeugt wurde.

Genau so, wie Sie vom Hauptfenster auf ein mit `open()` erzeugtes Zweitfenster zugreifen können, können Sie von einem solchen Zweitfenster auf das Hauptfenster zugreifen. Dazu gibt es den reservierten Fensternamen `opener`. Damit wird dasjenige Fenster angesprochen, von dem aus das aktuelle Fenster geöffnet wurde. Auf den Namen `opener` lassen sich alle Eigenschaften und Methoden des window-Objekts anwenden.

Testbeispiel (im Zweitfenster):

    <a href="javascript:opener.close()">Hauptfenster zumachen</a>

### Erläuterung:

Hinter dem Fensternamen `opener` lassen sich alle erlaubten Eigenschaften und Methoden des window-Objekts anwenden.

## closed

Speichert, ob ein Fenster, das zum Beispiel mit `open()` neu geöffnet wurde, mittlerweile geschlossen wurde. Hat den Wert `true`, wenn das Fenster geschlossen wurde. Sinnvoll, um die Existenz eines Fensters abzufragen, bevor Anweisungen zum Verändern eines Fensters folgen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    var InfoWin = window.open("datei2.htm", "Zweitfenster");
    function CheckOpen()
    {
     if(InfoWin.closed == true) alert("Fenster wurde geschlossen");
     else alert("Fenster noch offen");
    }
    </script>
    </head><body>
    <a href="javascript:CheckOpen()">Fenster zu?</a>
    </body></html>

### Erläuterung:

Das Beispiel lädt beim Einlesen ein Zweitfenster mit einer anderen Datei `datei2.htm`. Beim Klicken auf den Verweis wird eine Funktion `CheckOpen()` aufgerufen, die ausgibt, ob das andere Fenster noch offen ist oder nicht.

## defaultStatus

Speichert den Inhalt der Statuszeile, der solange angezeigt wird, wie kein besonderes Ereignis eintritt (etwa das Überfahren eines Verweises mit der Maus).

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    window.defaultStatus = "Helmut's Homepage";
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel belegt beim Einlesen der Datei die normale Anzeige der Statuszeile mit dem Wert `Helmut's Homepage`.

## innerHeight

Speichert die Höhe des Anzeigebereichs eines Fensters. Sehr gut geeignet in Verbindung mit absolutem Positionieren von Elementen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    window.innerHeight = 300;
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel setzt beim Einlesen der Datei den Anzeigebereich des Fensters auf eine Höhe von 300 Pixel fest.

Beachten Sie beim Neufestsetzen der Fensterhöhe die Bildschirmgröße. Diese können Sie mit dem Screen-Objekt ermitteln. Beachten Sie auch, daß der Anzeigebereich eines Fensters um einiges kleiner sein muß als das Fenster selbst, da das Fenster in der Regel noch Elemente wie Titelleiste, Menüleiste usw. enthält. Die absolute Höhe eines Fensters können Sie mit outerHeight auslesen bzw. setzen.

## innerWidth

Speichert die Breite des Anzeigebereichs eines Fensters. Sehr gut geeignet in Verbindung mit absolutem Positionieren von Elementen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function BreiteFestlegen()
    {
     window.innerWidth = document.Eingabe.Feld.value;
    }
    </script>
    </head><body>
    <form name="Eingabe">
    <input type=text name="Feld">
    <input type=button value="Test" onClick="BreiteFestlegen()">
    </form>
    </body></html>

### Erläuterung:

Das Beispiel erlaubt es, in einem Eingabefeld einen Wert einzugeben. Beim Klicken auf einen ebenfalls definierten Button wird die Funktion `BreiteFestlegen()` aufgerufen, die die Fensterbreite auf den eingegebenen Wert setzt.

Beachten Sie beim Neufestsetzen der Fensterbreite die Bildschirmgröße. Diese können Sie mit dem Screen-Objekt ermitteln. Beachten Sie auch, daß der Anzeigebereich eines Fensters um einiges kleiner sein muß als das Fenster selbst, da das Fenster in der Regel noch Elemente wie Titelleiste, Menüleiste usw. enthält. Die absolute Breite eines Fensters können Sie mit outerWidth auslesen bzw. setzen.

## locationbar

Speichert, ob ein Fenster eine eigene URL-Adreßzeile hat. Stellt selbst ein Objekt dar, das eine Eigenschaft hat, nämlich die Eigenschaft `visible` (= sichtbar). Enthält für diese Eigenschaft den Wert `true`, wenn das Fenster eine Adreßzeile hat, und den Wert `false`, wenn es keine hat.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Fensterchen = window.open("datei2.htm", "Zweitfenster", "width=300,height=200");
    function URL_Zeile()
    {
     if(Fensterchen.locationbar.visible == false)
      {
       Fensterchen.close();
       Neufenster = window.open("datei2.htm", "Zweitfenster", "width=300,height=200,location");
       Neufenster.focus();
      }
    }
    </script>
    </head><body>
    <a href="javascript:URL_Zeile()">URL-Zeile?</a>
    </body></html>

### Erläuterung:

Das Beispiel öffnet zunächst ein Zweitfenster ohne Adreßzeile. Beim Klicken auf den Verweis wird die Funktion `URL_Zeile()` aufgerufen. Diese Funktion prüft, ob das Fenster keine Adreßzeile hat. Wenn es keine hat, wird es geschlossen. Stattdessen wird ein neues Fenster geöffnet, wieder mit den gleichen Werten wie das alte, jedoch zusätzlich mit der Angabe `location`. Näheres dazu siehe open().

## menubar

Speichert, ob ein Fenster eine eigene Menüleiste mit den Browser-Menübefehlen hat. Stellt selbst ein Objekt dar, das eine Eigenschaft hat, nämlich die Eigenschaft `visible` (= sichtbar). Enthält für diese Eigenschaft den Wert `true`, wenn das Fenster eine Adreßzeile hat, und den Wert `false`, wenn es keine hat.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Hinweis()
    {
     if(window.menubar.visible == true)
       alert("Um die Seite zu editieren, aus dem Menue File den Befehl Edit Page waehlen");
    }
    </script>
    </head><body>
    <a href="javascript:Hinweis()">Diese Seite editieren</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis, das dem Anwender anbietet, die angezeigte Seite zu editieren. Wenn er den Verweis anklickt wird eine Funktion `Hinweis()` aufgerufen. Diese prüft, ob für das aktuelle Fenster eine Menüleiste verfügbar ist. Wenn ja, wird mit alert() ein Hinweis ausgegeben, was der Anwender tun muß, um die Seite zu editieren.

## name

Speichert den Namen eines Fensters. Bei Netscape 2.0 nur auslesbar, ab späteren Versionen auch änderbar.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Fenster = window.open("datei2.htm","KleinesFenster","width=200,height=200");
    function Fenstername()
    {
     alert("Name des kleinen Fensters: " + Fenster.name);
     neu = prompt("Vergeben Sie einen neuen Fensternamen","Name");
     Fenster.name = neu;
     alert("Der Name des Fensters lautet jetzt: " + Fenster.name);
    }
    </script>
    </head><body>
    <a href="javascript:Fenstername()">Name des Fensters</a>
    </body></html>

### Erläuterung:

Das Beispiel lädt beim Einlesen der Datei ein zweites kleines Fenster. Der Name dieses Fensters lautet `KleinesFenster`. Beachten Sie das die Eigenschaft `name` sich auf diesen Namen bezieht, nicht etwa auf den Variablennamen, in dem die Fensterinstanz gespeichert wird (im Beispiel die Variable `Fenster`). Beim Klicken auf einen Verweis wird die Funktion `Fenstername()` aufgerufen. Darin wird dem Anwender zunächst mit alert() der aktuelle Fenstername des kleinen Fensters ausgegeben. Dann kann er einen neuen Namen eingeben. Abschließend wird der neue Name angezeigt.

## outerHeight

Speichert die Gesamthöhe eines Fensters inklusive Titelleiste, Menüleiste, Statuszeile usw.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
     alert("Gesamthoehe dieses Fensters: " + window.outerHeight + "  Pixel");
     window.outerHeight = 300;
     alert("Gesamthoehe jetzt: " + window.outerHeight + "  Pixel");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt beim Einlesen zunächst die Höhe des aktuellen Fensters aus. Dann setzt es die Höhe neu fest, und zwar auf 300 Pixel. Anschließend wird die neue Fensterhöhe zur Kontrolle mit alert() nochmals ausgegeben.

## outerWidth

Speichert die Gesamtbreite eines Fensters inklusive Fensterrändern.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    if(window.outerWidth > 640)
     window.outerHeight = 640;
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel fragt beim Einlesen der Datei ab, ob die Breite des aktuellen Fensters mehr als 640 Pixel beträgt. Wenn ja, wird die Breite auf 640 Pixel festgesetzt.

## pageXOffset

Speichert die aktuelle horizontale Position innerhalb der Seite, gemessen am linken Fensterrand. So läßt sich ermitteln, wie weit der Anwender bereits nach rechts gescrollt hat. Sinnvoll in Verbindung der Verwendung mit scrollBy() oder scrollTo().

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Set0()
    {
     if(parent.frames[1].pageXOffset > 0)
       parent.frames[1].scrollTo(0,parent.frames[1].pageYOffset);
    }
    </script>
    </head><body>
    <a href="javascript:Set0()">nach links</a>
    </body></html>

### Erläuterung:

Im Beispiel wird angenommen, es gibt ein anderes Frame-Fenster, das einen überbreiten Inhalt hat, so daß der Anwender nach rechts scrollen muß, um alles zu sehen. Mit dem Verweis, der in der aktuellen Datei notiert ist, läßt sich das andere Frame-Fenster wieder ganz nach links scrollen. Dazu wird die aktuelle horizontale Scroll-Position der Eigenschaft `pageXOffset` abgefragt. Wenn sie größer 0 ist, hat der Anwender nach rechts gescrollt. In diesem Fall wird die Methode `scrollTo()` aufgerufen, um wieder ganz nach links zu scrollen. Die vertikale Position bleibt dabei erhalten, da als Parameter die Eigenschaft pageYOffset übergeben wird.

Zur Adressierung von Frame-Fenstern in JavaScript lesen Sie den Abschnitt über das Objekt frames.

## pageYOffset

Speichert die aktuelle vertikale Position innerhalb der Seite, gemessen am Dokumentanfang. So läßt sich ermitteln, wie weit der Anwender bereits nach unten gescrollt hat. Sinnvoll in Verbindung der Verwendung mit scrollBy() oder scrollTo().

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    for(i=0;i<100;i++)
     document.write("Viel Text<br>");
    function Position()
    {
     alert("pageYOffset: " + window.pageYOffset + " Pixel");
    }
    </script>
    <a href="javascript:Position()">Y-Position</a>
    </body></html>

### Erläuterung:

Im Beispiel schreibt ein JavaScript zu Testzwecken 100 mal eine HTML-Zeile mit dem Text `Viel Text` in das Dokumentfenster. Das veranlaßt den Browser, entsprechend weit nach unten mit zu scrollen. Am Ende wird ein Verweis notiert. Bei dessen Anklicken wird die Funktion `Position()` aufgerufen. Sie gibt mit alert() aus, wie weit die aktuelle Scroll-Position vom Dokumentanfang entfernt ist.

## personalbar

Speichert, ob ein Fenster eine eigene "Personal"-Leiste hat. Das ist bei Netscape 4.x die Leiste unterhalb der URL-Adreßzeile, die den Direktzugriff auf persönliche Lieblings-Adressen ermöglicht. Stellt selbst ein Objekt dar, das eine Eigenschaft hat, nämlich die Eigenschaft `visible` (= sichtbar). Enthält für diese Eigenschaft den Wert `true`, wenn das Fenster eine Personal-Leiste hat, und den Wert `false`, wenn es keine hat.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function PersonalCheck()
    {
     if(window.personalbar.visible == false)
       alert("Haben Sie denn keine Lieblings-Adressen?");
     else
       alert("Aha, Sie nutzen also die Personal Bar!");
     }
    </script>
    </head><body>
    <a href="javascript:PersonalCheck()">Persoenlichkeitstest</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Wenn der Anwender den Verweis anklickt, wird eine Funktion `PersonalCheck()` aufgerufen. Diese prüft, ob für das aktuelle Fenster eine Personal-Leiste verfügbar ist. Je nach Ergebnis wird dem Anwender mit alert() eine "persönliche" Meldung ausgegeben.

## scrollbars

Speichert, ob ein Fenster Scroll-Leisten hat. Stellt selbst ein Objekt dar, das eine Eigenschaft hat, nämlich die Eigenschaft `visible` (= sichtbar). Enthält für diese Eigenschaft den Wert `true`, wenn das Fenster Scroll-Leisten hat, und den Wert `false`, wenn es keine hat.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Neufenster = window.open("_js2.htm", "AnderesFenster","width=400,height=250");
    function Test()
    {
     if(Neufenster.scrollbars.visible == false)
      Neufenster.close();
    }
    </script>
    </head><body>
    <a href="javascript:Test()">Kleiner Scroll-Test</a>
    </body></html>

### Erläuterung:

Das Beispiel lädt beim Einlesen der Datei ein zweites, kleineres Fenster, das anschließend unter `Neufenster` ansprechbar ist. Die Datei selbst enthält einen Verweis. Wenn der Anwender den Verweis anklickt, wird eine Funktion `Test()` aufgerufen. Diese prüft, ob für das zweite Fenster Scroll-Leisten verfügbar sind. Wenn nicht, wird das Fenster mit close() geschlossen.

## statusbar

Speichert, ob ein Fenster eine eigene Statuszeile hat. Stellt selbst ein Objekt dar, das eine Eigenschaft hat, nämlich die Eigenschaft `visible` (= sichtbar). Enthält für diese Eigenschaft den Wert `true`, wenn das Fenster eine Statuszeile hat, und den Wert `false`, wenn es keine hat.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Statustext(Text)
    {
     if(window.statusbar.visible == true) window.defaultStatus = Text;
     else alert(Text);
    }
    </script>
    </head><body>
    <form name="Eingabe">
    <input type=text name="Feld">
    <input type=button value="Start" onClick="Statustext(document.Eingabe.Feld.value)">
    </form>
    </body></html>

### Erläuterung:

Im Beispiel wird ein Formular definiert. Der Anwender kann einen Text eingeben. Beim Klick auf den Button wird die Funktion `Statustext()` aufgerufen. Die Funktion ermittelt, ob das aktuelle Fenster eine Statuszeile hat. Wenn ja, wird der im Eingabefeld eingegebene Text als Standardtext der Statuszeile gesetzt. Wenn nein, wird der eingegebene Text nur mit alert() angezeigt.

## status

Speichert oder setzt den aktuellen Inhalt der Statuszeile.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="datei.htm" onmouseover="status='Das ist ein Verweis';return true;">Verweis</a>
    </body></html>

### Erläuterung:

Das Beispiel zeigt einen Verweis. Beim Überfahren des Verweistextes mit der Maus erscheint in der Statuszeile der Text: `das ist ein Verweis`. Wichtig ist bei solchen Kontrukten die Anweisung `return true` am Ende.

## toolbar

Speichert, ob ein Fenster eine eigene Buttonleiste (mit Buttons für "Vor", "Zurück" usw.) hat. Stellt selbst ein Objekt dar, das eine Eigenschaft hat, nämlich die Eigenschaft `visible` (= sichtbar). Enthält für diese Eigenschaft den Wert `true`, wenn das Fenster eine Buttonleiste hat, und den Wert `false`, wenn es keine hat.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    if(self.toolbar.visible == false)
     document.write("<a href='javascript:history.back()'>Back</a>");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel enthält innerhalb des Dateikörpers einen Scriptbereich. Darin wird überprüft, ob das Fenster eine eigene Buttonleiste hat. Wenn nicht, wird mit document.write() ein HTML-Befehl an die Stelle im Dokument geschrieben, die den Button "Zurück" als HTML-Verweis schreibt (siehe auch history.back()).

## alert()

Gibt Text in einem Dialogfenster aus. Erwartet eine Zeichenkette als Parameter.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:alert("Verweisziel noch nicht erreichbar")">Unsere Erfolge</a>
    </body></html>

### Erläuterung:

Das Beispiel führt beim Anklicken eines Verweises keinen Sprung zu einer anderen Seite aus, sondern gibt stattdessen eine Dialogbox mit dem Hinweis `"Verweisziel noch nicht erreichbar"` aus. Sie können der alert()-Methode feste Zeichenketten übergeben wie im Beispiel, aber auch Variablen. Dann wird der Inhalt der Variablen ausgegeben. Auch zusammengesetzte Ketten dürfen Sie übergeben, etwa:
`alert("Ihr Browser" + navigator.userAgent)`

## back()

Entspricht bei normalen WWW-Seiten einem Klick auf den "Zurück"-Button im Browser. Bei Frames wird jedoch die letzte besuchte Seite aufgerufen, die nicht zum Frame-Set gehörte. Bei Frames also unterschiedlich zu history.back()! Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:window.back()">Zur&uuml;ck</a>
    </body></html>

### Erläuterung:

Das Beispiel realisiert einen HTML-Verweis, bei dessen Anklicken die Seite aufgerufen wird, die zuletzt das gesamte Anzeigefenster ausfüllte.

## blur()

Macht ein Fenster inaktiv. Das Gegenteil von focus(). Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Neufenster = window.open("datei2.htm", "AnderesFenster","width=400,height=250");
    </script>
    </head><body>
    <a href="javascript:Neufenster.focus()">Fenster nach vorne</a><br>
    <a href="javascript:Neufenster.blur()">Fenster nach hinten</a>
    </body></html>

### Erläuterung:

Im Beispiel wird beim Einlesen der HTML-Datei ein zeites, kleines Fenster geöffnet. Die HTML-Datei selbst enthält zwei Verweise. Beim Anklicken des ersten Verweises wird das zweite Fenster aktiviert - `focus()`. Beim Anklicken des zweiten Verweises wird es deaktivert und je nach Fensterkonstellation von dem Hauptfenster überdeckt - `blur()`.

## captureEvents()

Überwacht Anwenderereignisse im angegebenen Fenster. Erwartet als Parameter eine Folge von Ereignissen, die überwacht werden sollen. Folgende Ereignisse lassen sich überwachen:

`Event.ABORT Event.BLUR Event.CHANGE Event.CLICK Event.DBLCLICK Event.DRAGDROP Event.ERROR Event.FOCUS Event.KEYDOWN Event.KEYPRESS Event.KEYUP Event.LOAD Event.MOUSEDOWN Event.MOUSEMOVE Event.MOUSEOUT Event.MOUSEOVER Event.MOUSEUP Event.MOVE Event.RESET Event.RESIZE Event.SELECT Event.SUBMIT Event.UNLOAD`.

Es handelt sich dabei um spezielle Notationsvarianten entsprechender Event-Handler ohne das "on" davor, dafür mit dem Ansprechen des Event-Objekts davor. So entspricht etwa `Event.MOUSEOVER` dem Event-Handler `onMouseover`.

Sie können mehrere Ereignisse überwachen. Trennen Sie die Event-Namen dabei durch `|` (Querstriche).

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    window.captureEvents(Event.KEYPRESS);
    window.onkeypress = Ausgabe;
    function Ausgabe(Ereignis)
    {
     alert("Sie haben die Taste mit dem Wert " + Ereignis.which + " gedrueckt");
     window.captureEvents(Event.KEYPRESS);
     window.onkeypress = Ausgabe;
    }
    </script>
    </head><body>
    Druecken Sie irgendwelche Tasten!
    </body></html>

### Erläuterung:

Im Beispiel wird der Event KEYPRESS (Taste gedrückt) überwacht. Wenn der Anwender eine Taste drückt, wird die Funktion `Ausgabe()` aufgerufen, die mit alert() ausgibt, welche Taste gedrückt wurde. Anschließend stößt die Funktion die erneute Überwachung des gleichen Events an und ruft sich bei Eintritt des Ereignisses selbst wieder auf. Die Syntax beim Funktionsaufruf ist dabei abweichend von der üblichen. Ein zusammenhängendes Beispiel mit Erläuterungen hierzu finden Sie im Kapitel Dynamisches HTML im Abschnitt über das Event-Objekt bei Netscape.

## clearInterval()

Bricht einen Endlosvorgang ab, der mit setInterval() begonnen wurde. Erwartet als Parameter die Variable, in der der Aufruf von `setInterval()` gespeichert wurde.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    aktiv = window.setInterval("Farbe()",1000);
    i = 0, farbe = 1;
    function Farbe()
    {
      if(farbe==1)
      { document.bgColor="yellow"; farbe=2; }
      else
      { document.bgColor="aqua"; farbe=1; }
      i = i + 1;
      if(i >= 10)
       window.clearInterval(aktiv);
    }
    </script>
    </body></html>

### Erläuterung:

Das Beispiel definiert mit `setInterval()`, daß die Funktion `Farbe()` alle 1000 Millisekunden, also jede Sekunde einmal aufgerufen wird. Der Aufruf wird in der Variablen `aktiv` gespeichert. Im Beispiel wechselt die Funktion `Farbe()` bei jedem Aufruf die Hintergrundfarbe der Datei ( document.bgColor). Gleichzeitig wird ein Zähler hochgezählt. Wenn er größer gleich 10 ist, wird die Methode `clearInterval()` aufgerufen, die den Endlosvorgang stoppt. Dabei wird die zuvor definierte Variable `aktiv` als Parameter übergeben.

## clearTimeout()

Bricht einen Timeout ab, der mit der Methode setTimeout() gestartet wurde. Erwartet als Parameter die Variable, in der der Aufruf von `setTimeout()` gespeichert wurde.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    var i = 0;
    function Zaehlen()
    {
     i = i + 1;
     aktiv = window.setTimeout("Zaehlen()",1000);
    }
    function Aufhoeren()
    {
     window.clearTimeout(aktiv);
     alert(i + " Sekunden");
    }
    aktiv = window.setTimeout("Zaehlen()",1000);
    </script>
    </head><body>
    <form>
    <input type=button value="Klick" onClick="Aufhoeren()">
    </form>
    </body></html>

### Erläuterung:

Das Beispiel startet beim Einlesen der Datei mit `setTimeout()` einen Zählvorgang. Dabei wird alle 1000 Millisekunden, also 1 mal pro Sekunde, die Funktion `Zaehlen()` aufgerufen. Diese zaehlt die Variable `i` hoch. In der Datei wird ein Button definiert. Wenn der Anwender auf den Button klickt, wird die Funktion `Aufhoeren()` aufgerufen. Diese Funktion stoppt mit `clearTimeout()` den Timeout und gibt mit alert() die Anzahl der gezählten Sekunden aus. Beim Aufruf von `clearTimeout()` wird die zuvor bei `setTimeout()` definierte Variable `aktiv` als Parameter übergeben.

## close()

Schließt ein Fenster. Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Info = window.open("datei2.htm", "Zweitfenster");
    </script>
    </head><body>
    <form>
    <input type=button value="Fenster zu" onClick="Info.close()">
    </form>
    </body></html>

### Erläuterung:

Das Beispiel öffnet beim Einlesen der Datei ein zweites Fenster namens `Info`. In der Datei wird ein Button definiert. Wenn der Anwender auf den Button klickt, wird das zweite Fenster geschlossen.

## confirm()

Blendet ein Dialogfenster mit zwei Buttons für "OK" und "Abbrechen" ein. Sinnvoll, um vom Anwender eine Entscheidung zu erzwingen, die im weiteren Programmablauf verarbeitet wird. Erwartet als Parameter einen Aufforderungstext für die Ja/Nein-Entscheidung. Liefert als Ergebnis zurück, wie sich der Anwender entschieden hat.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Check = confirm("Wollen Sie diese Seite wirklich sehen?");
    if(Check == false) history.back();
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Im Beispiel wird der Anwender beim Einlesen der Datei gefragt, ob er die Seite wirklich sehen will. Der Rückgabewert von `confirm()` wird in der Variablen `Check` gespeichert. Wenn der Anwender auf "OK" klickt, enthält `Check` den Wert `true`. Es passiert nichts weiter und die Seite wird geladen. Wenn er "Abbrechen" wählt, erhält `Check` den Wert `false`. Für diesen Fall ist die Anweisung history.back() notiert, die den Anwender auf die Seite zurückbefördert, von der er kam.

## disableExternalCapture()

Verbietet anderen Fenstern, Ereignisse im aktuellen Fenster zu überwachen. Vor allem als Schutz gedacht, falls fremde Seiten die eigene Seiten in ein Frame-Set laden.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    disableExternalCapture();
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel startet beim Einlesen den Befehl `disableExternalCapture()`. Dadurch können fremde Seiten keine Anwenderereignisse in dieser Datei überwachen, falls die Datei in ein fremdes Frame-Set geladen wird.

## enableExternalCapture()

Erlaubt anderen Fenstern, Ereignisse im aktuellen Fenster zu überwachen. So lassen sich von anderen Fenstern eines Frame-Sets aus Anwenderereignisse im aktuellen Fenster überwachen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    enableExternalCapture();
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel startet beim Einlesen den Befehl `enableExternalCapture()`. Dadurch können fremde Seiten Anwenderereignisse in dieser Datei überwachen, falls die Datei Teil eines Frame-Sets ist.

## find()

Durchsucht den Inhalt eines Fensters nach einem Text. Entspricht in der Funktionalität dem Menübefehl "Suchen". Die Suche bezieht sich nur auf die aktuelle Seite.
Erwartet folgende Parameter:
1. Text = Text, nach dem gesucht werden soll.
2. Groß-/Kleinschreibung beachten = `true` für ja oder `false` für nein übergeben.
3. Suchrichtung rückwärts = `true` für ja oder `false` für nein übergeben.
Die beiden letzten Parameter sind optional.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <form>
    <input type=text name="SuchNach">
    <input type=button value="suchen" onClick="find(this.form.SuchNach.value,false,false)">
    </form>
    </body></html>

### Erläuterung:

Im Beispiel steht am Anfang der Datei ein Formular mit einem Eingabefeld zur Eingabe eines Suchbegriffs. Das Formular enthält außerdem einen Button. Bei dessen Anklicken wird der weitere Inhalt der Datei nach dem Begriff durchsucht, den der Anwender in dem Eingabefeld eingegeben hat.

## focus()

Macht ein Fenster zum aktiven Fenster. Sinnvoll bei Verwendung von Zweitfenstern, aber auch bei Frame-Fenstern. Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function FrameVerweis(Ziel)
    {
     parent.frames[1].location.href = Ziel;
     parent.frames[1].focus();
    }
    </script>
    </head><body>
    <a href="javascript:FrameVerweis('datei.htm')">Verweistext</a>
    </body></html>

### Erläuterung:

Das Beispiel nimmt an, daß die aktuelle Datei Teil eines Frame-Sets ist. Die Datei enthält einen Verweis, dessen Ziel in einem anderen Frame-Fenster angezeigt werden soll. Beim Anklicken wird aber nicht nur das Verweisziel in das andere Frame-Fenster geladen, sondern dieses wird zugleich das aktive Fenster. So kann der Anwender beispielsweise gleich mit den Pfeiltasten darin scrollen. Dazu wird beim Anklicken des Verweises eine Funktion `FrameVerweis()` aufgerufen. Diese Funktion lädt im ersten Befehl das als Parameter übergebene Verweisziel in den anderen Frame ( location.href), und im zweiten Befehl setzt sie mit `focus()` das Ziel-Framefenster aktiv.

Zur Adressierung von Frame-Fenstern in JavaScript lesen Sie den Abschnitt über das Objekt frames.

## forward()

Entspricht bei normalen WWW-Seiten einem Klick auf den "Vorwärts"-Button im Browser. Bei Frames wird jedoch die nächste besuchte Seite aufgerufen, die nicht zum Frame-Set gehört. Bei Frames also unterschiedlich zu `history.forward()`! Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:window.forward()">Vor</a>
    </body></html>

### Erläuterung:

Das Beispiel realisiert einen HTML-Verweis, bei dessen Anklicken die Seite aufgerufen wird, die beim Vorwärtsgehen in der History als nächste das gesamte Anzeigefenster ausfüllt.

## handleEvent()

Übergibt ein Ereignis an ein Element, das in der Lage ist, auf das Ereignis zu reagieren.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function clickHandler(Ereignis)
    { window.document.links[0].handleEvent(Ereignis); }
    window.captureEvents(Event.CLICK);
    window.onClick = clickHandler;
    </script>
    </head><body>
    <a href="datei.htm" onClick="location.href='datei.htm'">Verweis</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis, bei dessen Anklicken - ganz normal durch die `href`-Angabe - die Datei `datei.htm` aufgerufen wird. Im Beispiel ist es jedoch so, daß `datei.htm` sofort aufgerufen wird, sobald der Anwender irgendwo im Browser-Fenster hinklickt. Dazu wird beim Einlesen der Datei mit der captureEvents()-Methode das Mausklick-Ereignis überwacht. Wenn das Ereignis eintritt, wird die Funktion `ClickHandler()` aufgerufen. Diese übergibt mit `handleEvent()` das Ereignis an den ersten im Dokument definierten Verweis weiter (`document.links[0]`). In dem entsprechenden Verweis ist dazu ein Event-Handler `onClick=` notiert. Dieser ist in der Lage, das übergebene Ereignis zu verarbeiten. Als Befehl wird mit location.href die gleiche Datei aufgerufen wie beim Anklicken des Verweises selbst.

## home()

Entspricht einem Klick auf den "Home"-Button im Browser.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:home()">Nach hause</a>
    </body></html>

### Erläuterung:

Das Beispiel definiert einen Verweis, bei dessen Anklicken die Seite aufgerufen wird, die der Anwender als Start-Homepage eingestellt hat.

## moveBy()

Verschiebt ein Fenster um so viele Pixel wie angegeben. Erwartet folgende Parameter:
1. x-Wert = um wie viele Pixel das Fenster nach links/rechts verschoben werden soll. Negative Werte verschieben nach links, positive nach rechts.
2. y-Wert = um wie viele Pixel das Fenster nach oben/unten verschoben werden soll. Negative Werte verschieben nach oben, positive nach unten.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Fenster = window.open("datei.htm","Zweitfenster","width=200,height=200");
    function Bewege()
    {
     Fenster.moveBy(200,100);
     Fenster.focus();
    }
    </script>
    </head><body>
    <a href="javascript:Bewege()">Fenster bewegen</a>
    </body></html>

### Erläuterung:

Das Beispiel lädt beim Einlesen der Datei ein kleines Zweitfenster mit einer anderen Datei. Das Hauptfenster enthält einen Verweis. Beim Anklicken des Verweises wird die Funktion `Bewege()` aufgerufen, die das kleine Fenster um 200 Pixel nach rechts und um 100 Pixel nach unten verschiebt.

Beachten Sie, daß das Verschieben ignoriert wird, falls die Bildschirmgrenzen dabei überschritten würden.

## moveTo()

Verschiebt ein Fenster auf die anzugebende Position. Erwartet folgende Parameter:
1. x-Wert = Links-Wert für die neue obere linke Ecke des Fensters.
2. y-Wert = Oben-Wert für die neue obere linke Ecke des Fensters.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Fenster = window.open("datei.htm","Zweitfenster","width=200,height=200");
    function Bewege()
    {
     Fenster.moveTo(screen.width-200,screen.height-200);
     Fenster.focus();
    }
    </script>
    </head><body>
    <a href="javascript:Bewege()">Fenster bewegen</a>
    </body></html>

### Erläuterung:

Das Beispiel lädt beim Einlesen der Datei ein kleines Zweitfenster mit einer anderen Datei. Das Zweitfenster hat eine Breite und eine Höhe von 200 Pixeln. Das Hauptfenster enthält einen Verweis. Beim Anklicken des Verweises wird die Funktion `Bewege()` aufgerufen, die das kleine Fenster in die rechte untere Ecke des Bildschirms verschiebt. Die Pixelangaben für die neue linke obere Ecke des Fensters werden dabei mit Hilfe des screen-Objekts gewonnen, das mit `screen.width` die Bildschirmbreite und mit `screen.height` die Bildschirmhöhe liefert.

Beachten Sie, daß das Verschieben ignoriert wird, falls die Bildschirmgrenzen dabei überschritten würden.

## open()

Öffnet ein neues Fenster. Erwartet mindestens zwei, optional auch drei Parameter:
1. URL-Adresse = Zieladresse einer Datei, die in das neue Fenster geladen werden soll. Wenn sich die Datei im gleichen Verzeichnis befindet, genügt der Dateiname. Ansonsten relative Pfadnamen oder absolute http-Adressen angeben. Bei Netscape darf dies auch eine leere Zeichenkette sein (öffnet ein leeres Fenster), was beim MS Internet Explorer allerdings zu einer Fehlermeldung führt.
2. Fenstername = Ein Name, der aus Buchstaben, Ziffern und Unterstrich bestehen darf. Unter diesem Namen können beispielsweise Verweise ihre Ziele mit `<a href="ziel.htm" target="NameDesFensters">` in das erzeugte Fenster laden.
3. (optional) Angaben zum Aussehen des Fensters = Eine Zeichenkette, in der Sie die Größe und die Eigenschaften des Fensters festlegen können. Mehrere Angaben sind durch Kommata zu trennen. Folgende Angaben sind möglich:

`dependent=` |  | Wenn ja (`yes`), wird das Fenster geschlossen, wenn sein Elternfenster geschlossen wird. Wenn nein (`no` = Voreinstellung), bleibt das Fenster erhalten, wenn sein Elternfenster geschlossen wird.
`height=` |  | Höhe des neuen Fensters in Pixeln, z.B. `height=200`
`hotkeys=` |  | Wenn nein (`no`), werden Tastaturbefehle zum Steuern des Browsers in dem Fenster deaktiviert. Wenn ja (`yes` = Voreinstellung), bleiben Tastaturbefehle des Browsers in dem Fenster gültig.
`innerHeight=` |  | Höhe des Anzeigebereichs des neuen Fensters in Pixeln, z.B. `innerHeight=200`
`innerWidth=` |  | Breite des Anzeigebereichs des neuen Fensters in Pixeln, z.B. `innerWidth=200`
`locationbar=` |  | Wenn ja (`yes`), erhält das Fenster eine eigene URL-Adreßzeile. Wenn nein (`no` = Voreinstellung), erhält es keine Adreßzeile.
`menubar=` |  | Wenn ja (`yes`), erhält das Fenster eine eigene Menüleiste mit Browser-Befehlen. Wenn nein (`no` = Voreinstellung), erhält es keine Menüleiste.
`resizable=` |  | Wenn nein (`no`), kann der Anwender das Fenster in der Größe nicht verändern. Wenn ja (`yes` = Voreinstellung), kann der Anwender die Fenstergröße ändern.
`screenX=` |  | Horizontalwert der linken oberen Ecke des neuen Fensters in Pixeln, z.B. `screenX=100`
`screenY=` |  | Vertikalwert der linken oberen Ecke des neuen Fensters in Pixeln, z.B. `screenY=30`
`status=` |  | Wenn ja (`yes`), erhält das Fenster eine eigene Statuszeile. Wenn nein (`no` = Voreinstellung), erhält es keine Statuszeile.
`width=` |  | Breite des neuen Fensters in Pixeln, z.B. `width=400`

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    F1 = open("dat1.htm","Fenster1","width=310,height=400,screenX=0,screenY=0");
    F2 = open("dat2.htm","Fenster2","width=310,height=400,screenX=320,screenY=0");
    self.focus();
    self.close();
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel öffnet beim Einlesen der Datei zwei weitere Fenster so, daß sie nebeneinander angeordnet sind. Anschließend schließt sich das Hauptfenster selbst. Angenommen, in `dat1.htm` (wird ins erste Fenster geladen) steht ein Verweis, dessen Ziel im zweiten Fenster angezeigt werden soll. Dazu können Sie notieren:
`<a href="dat3.htm" target="Fenster2">Verweistext</a>`
Wichtig ist dabei die Angabe `target=`. Dort müssen Sie den Fenstername angeben, den Sie bei der Definition des gewünschten Zielfensters vergeben haben - im Beispiel `"Fenster2"`.

## print()

Druckt den Inhalt einer Seite aus. Entpricht dem Menübefehl zum Drucken im Browser. Erwartet keine Parameter.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <a href="javascript:window.print()">Diese Seite drucken</a>
    </body></html>

### Erläuterung:

Das Beispiel definiert einen Verweis, mit dessen Hilfe der Anwender die Seite ausdrucken kann.

## prompt()

Zeigt ein Dialogfenster mit einem Eingabefeld, einem OK-Button und einem Abbrechen-Button an. Der Anwender kann in dem Eingabefeld etwas eingeben. Die Methode `prompt()` gibt diesen eingegebenen Wert zurück. So lassen sich Anwendereingaben im Script weiterverarbeiten.
Erwartet zwei Parameter:
1. Aufforderungstext = Text, der beschreibt, was der Anwender eingeben soll.
2. Feldvorbelegung = Text, mit dem das Eingabefeld vorbelegt wird. Wenn Sie ein leeres Eingabefeld wollen, übergeben Sie dafür eine leere Zeichenkette `""`.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    Check = prompt("Geben Sie Ihr Passwort fuer diese Seite ein","");
    if(Check != "Rumpelstielz") history.back();
    else alert("Sie haben Zutritt");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel bringt vor dem Anzeigen der HTML-Datei mit `prompt()` ein Dialogfenster auf den Bildschirm. Darin muß der Anwender ein Paßwort eingeben. Die Eingabe wird in der Variablen `Check` gespeichert. Wenn der Wert dieser Variablen nach dem Beenden des Dialogfensters nicht gleich `"Rumpelstielz"` ist, wird der Anwender mit history.back() zu der Seite zurückgeschickt, von der er kam. Wenn das eingegebene Wort stimmt, erhält er mit alert() die Meldung, daß er Zutritt hat, und die Seite wird geladen.

## releaseEvents()

Beendet die Überwachung von Anwenderereignissen. Gegenstück zu captureEvents(). Erwartet als Parameter eine Folge von Ereignissen, die nicht mehr überwacht werden sollen. Gleiche Syntax wie bei `captureEvents()`.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    i = 0;
    window.captureEvents(Event.KEYPRESS);
    window.onkeypress = Ausgabe;
    function Ausgabe(Ereignis)
    {
     alert("Sie haben die Taste mit dem Wert " + Ereignis.which + " gedrueckt");
     i = i + 1;
     if(i < 3)
     {
      window.captureEvents(Event.KEYPRESS);
      window.onkeypress = Ausgabe;
     }
     else
      window.releaseEvents(Event.KEYPRESS);
    }
    </script>
    </head><body>
    Druecken Sie 3 mal irgendwelche Tasten!
    </body></html>

### Erläuterung:

Im Beispiel wird der Event KEYPRESS (Taste gedrückt) überwacht. Wenn der Anwender eine Taste drückt, wird die Funktion `Ausgabe()` aufgerufen, die mit alert() ausgibt, welche Taste gedrückt wurde. Anschließend stößt die Funktion die erneute Überwachung des gleichen Events an und ruft sich bei Eintritt des Ereignisses selbst wieder auf, jedoch nur, solange der Zähler `i` kleiner als 3 ist. Danach wird das Überwachen der Tastaturereignisse mit der Methode `releaseEvents(Event.KEYPRESS)` beendet.
Ein zusammenhängendes Beispiel mit Erläuterungen hierzu finden Sie im Kapitel Dynamisches HTML im Abschnitt über das Event-Objekt bei Netscape.

## resizeBy()

Verändert die Größe eines Fensters um so viele Pixel unten und rechts wie angegeben. Erwartet folgende Parameter:
1. x-Wert = um wie viele Pixel das Fenster rechts verkleinert/vergrößert werden soll. Negative Werte verkleinern, positive vergrößern.
2. y-Wert = um wie viele Pixel das Fenster unten verkleinert/vergrößert werden soll. Negative Werte verkleinern, positive vergrößern.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Kleiner()
    { window.resizeBy(-10,-10); }
    </script>
    </head><body>
    <a href="javascript:Kleiner()">Mach kleiner</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird die Funktion `Kleiner()` aufgerufen. Diese Funktion verkleinert das dateieigene Fenster um 10 Pixel in der Breite und in der Höhe.

## resizeTo()

Verändert die Größe eines Fensters absolut. Erwartet folgende Parameter:
1. x-Wert = neue Breite des Fensters.
2. y-Wert = neue Höhe des Fensters.

### Beispiel:

    <html><head><title>Test</title>
    </head><body onLoad="window.resizeTo(580,420)">
    </body></html>

### Erläuterung:

Das Beispiel setzt die Fenstergröße beim Einlesen der Datei auf eine Breite von 580 Pixeln und auf eine Höhe von 420 Pixeln.

## routeEvent()

Übergibt ein Anwenderereignis an das oberste Objekt der Objekt-Hierarchie, also an das window-Objekt. Vor dort aus wird das Ereignis immer weiter nach unten durchgereicht, bis sich ein Event-Handler findet, der das Ereignis verarbeitet.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Click1()
    {
     alert("Sie haben auf den Button geklickt");
    }
    function Click2(Ereignis)
    {
     alert("Sie haben ins Fenster geklickt");
     window.routeEvent(Ereignis);
    }
    window.captureEvents(Event.CLICK);
    window.onClick = Click2;
    </script>
    </head><body>
    <form>
    <input type=button value="Button" onClick="Click1()">
    </form>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Button, bei dessen Anklicken die Funktion `Click1()` aufgerufen wird. Diese Funktion gibt zur Kontrolle mit alert() aus, daß der Button angeklickt wurde. Im Beispiel ist es jedoch so, daß beim Einlesen der Datei mit der captureEvents()-Methode das Mausklick-Ereignis überwacht wird. Wenn das Ereignis eintritt, wird in jedem Fall die Funktion `Click2()` aufgerufen. Diese gibt zur Kontrolle aus, daß in das Fenster geklickt wurde. Anschließend übergibt sie mit `routeEvent()` das Ereignis an die Objekthierarchie. Wenn der Klick auf ein anderes Objekt erfolgt, daß ebenfalls das Klick-Ereignis überwacht, wird die entsprechende Aktion ebenfalls ausgeführt. Im Beispiel hat dies zur Folge, daß der Anwender beim Klick auf den Button zwei Meldungen erhält: nämlich zuerst die, daß ins Fenster geklickt wurde, und danach die, daß auf den Button geklickt wurde. Ohne die `routeEvent()`-Methode würde er die zweite Meldung gar nicht erhalten, da das Klick-Ereignis vorher abgefangen worden wäre.

## scrollBy()

Scrollt eine Seite automatisch um so viele Pixel nach oben oder unten oder links oder rechts wie angegeben. Erwartet folgende Parameter:
1. x-Wert = um wie viele Pixel nach rechts links/rechts gescrollt werden soll. Negative Werte scrollen nach links, positive nach rechts.
2. y-Wert = um wie viele Pixel nach oben/unten gescrollt werden soll. Negative Werte scrollen nach oben, positive nach unten.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    for(i=1; i<=100; i++)
     document.write("<br>Zeile " + i);
    function NachOben()
    {
     y = window.pageYOffset;
     while(y > 0)
     {
      setTimeout("window.scrollBy(0,-10)",10);
      y = y - 10;
     }
    }
    </script>
    <a href="javascript:NachOben()">nach oben scrollen</a>
    </body></html>

### Erläuterung:

Das Beispiel schreibt zu Testzwecken in einer Schleife mit document.write() 100 Zeilen in die Datei. Unterhalb davon wird ein HTML-Verweis notiert. Um zu diesem Verweis zu gelangen, muß der Anwender wegen der 100 voranstehenden Zeilen erst mal nach unten scrollen. Wenn er auf den Verweis klickt, wird automatisch langsam zum Seitenanfang zurückgescrollt. Dazu wird die Funktion `NachOben()` aufgerufen. Diese Funktion ermittelt mit pageYOffset zunächst die vertikalen Position innerhalb der Seite. Dann wird innerhalb einer while-Schleife so lange nach oben gescrollt, bis de Scrollposition bei 0 angelangt ist.
In dem Beispiel wird dazu nur der y-Wert jeweils um -10 Pixel verändert. So wird die Seite bei jedem Scroll-Befehl um 10 Pixel nach oben gescrollt. Der Verzögerungs-Effekt beim Scrollen kommt im Beispiel dadurch zustande, daß die Scroll-Befehle in die Methode setTimeout() eingebunden sind.

## scrollTo()

Scrollt zu einer bestimmten Position. Erwartet folgende Parameter:
1. x-Wert = Links-Wert für Position der linken oberen Ecke des Anzeigefensters.
2. y-Wert = Oben-Wert für Position der linken oberen Ecke des Anzeigefensters.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    function Pos100()
    { window.scrollTo(100,100) }
    var Zeile = "<nobr>Zeile";
    for(i=1; i<=100; i++)
    {
     Zeile = Zeile + " Zeile";
     document.write("<br>Zeile " + Zeile);
    }
    document.write("<a href='javascript:Pos100()'> Test</a></nobr>");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel schreibt zu Testzwecken in einer Schleife mit document.write() 100 Zeilen, wobei die Zeilen immer länger werden. Ganz am Ende wird ein Verweis notiert. Um dort hin zu gelangen, muß der Anwender nach unten und nach rechts scrollen. Wenn er auf den Verweis klickt, wird die Funktion `Pos100()` aufgerufen. Diese funktion setzt die Scroll-Position neu, und zwar auf 100 Pixel von links und 100 Pixel von oben, bezogen auf den Dokumentanfang.

## setInterval()

Führt eine Anweisung oder den Aufruf einer Funktion in einem festgelegten Rhythmus immer wieder aus, solange, bis der Vorgang mit clearInterval() beendet wird. Erwartet zwei Parameter:
1. Code = Eine JavaScript-Anweisung, die wiederholt werden soll. Meistens ein Funktionsaufruf.
2. Pause = Wert in Millisekunden bis zum nächsten Ausführen.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    <script language="JavaScript">
    aktiv = window.setInterval("Farbe()",1000);
    i = 0, farbe = 1;
    function Farbe()
    {
      if(farbe==1)
      { document.bgColor="yellow"; farbe=2; }
      else
      { document.bgColor="aqua"; farbe=1; }
      i = i + 1;
      if(i >= 10)
       window.clearInterval(aktiv);
    }
    </script>
    </body></html>

### Erläuterung:

Das Beispiel definiert mit `setInterval()`, daß die Funktion `Farbe()` alle 1000 Millisekunden, also jede Sekunde einmal aufgerufen wird. Wichtig ist, daß der Aufruf in einer Variablen gespeichert wird, im Beispiel in der Variablen `aktiv`. Diese Variable wird von der Methode `clearTimeout()` benötigt, um den Vorgang zu stoppen. Im Beispiel wechselt die Funktion `Farbe()` bei jedem Aufruf die Hintergrundfarbe der Datei ( document.bgColor). Gleichzeitig wird ein Zähler hochgezählt. Wenn er größer gleich 10 ist, wird die Methode `clearInterval()` aufgerufen, die den Endlosvorgang stoppt. Dabei wird die zuvor definierte Variable `aktiv` als Parameter übergeben.

## setTimeout()

Führt eine Anweisung nach einer bestimmten Verzögerungszeit aus. Erwartet zwei Parameter:
1. Code = Eine JavaScript-Anweisung, die wiederholt werden soll. Meistens ein Funktionsaufruf.
2. Pause = Wert in Millisekunden bis zum Ausführen.

### Beispiel:

    <html><head><title>Test</title>
    <script language="JavaScript">
    function Hinweis()
    {
     x = confirm("Sie sind jetzt schon 10 Minuten auf dieser Seite. Fortfahren?");
     if(x == false) top.close();
    }
    window.setTimeout("Hinweis()",60000);
    </script>
    </head><body>
    <a href="javascript:()">Text?</a>
    </body></html>

### Erläuterung:

Das Beispiel ruft nach 60000 Millisekunden, also nach 10 Minuten, eine Funktion `Hinweis()` auf, sofern der Anwender nach dieser Zeit immer noch auf der Seite ist. Die Funktion fragt ihn mit der confirm()-Methode, ob er noch länger auf der Seite bleiben möchte. Wenn nicht, wird das Hauptfenster geschlossen. Dazu dient der Befehl `top.close()`, der die close()-Methode auf die oberste Fenster-Instanz des Browsers anwendet.

## stop()

Entspricht einem Klick auf den "Stop"-Button im Browser. Der Ladevorgang einer Seite wird dadurch abgebrochen.

### Beispiel:

    <html><head><title>Test</title>
    </head><body>
    Diese Seite hat einen Umfang von 300 Kilobyte:<br>
    <a href="javascript:stop()">abbrechen</a>
    </body></html>

### Erläuterung:

Das Beispiel definiert einen Verweis, bei dessen Anklicken der Ladevorgang einer Seite abgebrochen wird.

weiter: | frames
zurück: | Hinweise zur Objekt-Referenz

SELFHTML/Quickbar JavaScript Objekt-Referenz

© 1998 Stefan Münz, muenz@csi.com