Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 8 Fenster
|  | 8.1 Modale Fenster
|  |  | 8.1.1 Warnung – nur im Notfall
|  |  | 8.1.2 Bestätigungen
|  |  | 8.1.3 Benutzereingaben
|  | 8.2 Navigationsleiste mit JavaScript
|  |  | 8.2.1 Das History-Objekt
|  |  | 8.2.2 Vorwärts und rückwärts, Teil 2
|  |  | 8.2.3 Drucken mit JavaScript
|  | 8.3 Die Statuszeile
|  |  | 8.3.1 Erläuternde Links
|  |  | 8.3.2 Laufschrift
|  | 8.4 Das location-Objekt
|  | 8.5 Ein neues Fenster öffnen
|  |  | 8.5.1 Ein Fenster öffnen und füllen
|  |  | 8.5.2 Ein Fenster öffnen und verlinken
|  |  | 8.5.3 Ein Fenster öffnen und anpassen
|  |  | 8.5.4 Modale Fenster
|  | 8.6 Fernsteuerung
|  |  | 8.6.1 Links mit JavaScript
|  |  | 8.6.2 Links ohne JavaScript
|  | 8.7 Fenster schließen
|  |  | 8.7.1 Andere Fenster schließen
|  | 8.8 Fenster bewegen mit JavaScript
|  |  | 8.8.1 Fenster verschieben
|  |  | 8.8.2 Fensterinhalt scrollen
## 8.8 Fenster bewegen mit JavaScript Prinzipiell gibt es zwei Möglichkeiten, ein Fenster zu bewegen, und das ist reine Definitionssache. Entweder wollen Sie das gesamte Fenster irgendwohin bewegen, oder Sie wollen den Inhalt des Fensters scrollen. Beides ist mit neueren Browsern möglich und wird an dieser Stelle kurz vorgestellt. ### 8.8.1 Fenster verschieben Eine häufig gestellte Frage lautet: Wie kann ich das Browserfenster zentrieren? Andere Leute wiederum möchten, dass das Browserfenster maximiert oder minimiert wird (so viel vorweg: Das ist nicht möglich) oder dass es sich am oberen Bildschirmrand befindet. Dies ist kein aufwändiges Verfahren, es müssen einfach entsprechende Eigenschaften des window-Objekts gesetzt oder ausgelesen oder Methoden aufgerufen werden. Übertreiben Sie es jedoch nicht mit diesen Effekten. Viele Webbesucher reagieren ziemlich giftig, wenn man ihnen vorschreiben will, wo sich ein Fenster befindet. Moderne Browser können ein Fenster verschieben, und zwar sowohl an eine bestimmte Position als auch um einen gewissen Wert. Dazu gibt es zwei Methoden:
| window.moveTo(x, y): Verschiebt das Fenster so, dass die linke obere Ecke die Koordinaten (x, y) hat. Es handelt sich hier um eine absolute Verschiebung. Sie können das Fenster damit nicht aus dem sichtbaren Bereich hinaus verschieben, außer Sie verwenden signierte Skripten (die werden in Kapitel 29 behandelt).
| window.moveBy(x, y): Verschiebt das Fenster horizontal um x Pixel, vertikal um y Pixel, führt also eine relative Verschiebung durch. Auch hier kann das Fenster nicht aus dem sichtbaren Bereich hinaus verschoben werden.
Erinnern Sie sich noch an die Auflistung der Parameter für window. open()? All diese Parameter sind auch gleichzeitig Eigenschaften für das window-Objekt. Somit werden beispielsweise mit window.outerHeight und window.outerWidth die Ausmaße des Browserfensters angegeben. Um nun die Maximierung eines Fensters zu simulieren (man führt damit nicht die API-Funktion für die Fenstermaximierung aus, sondern vergrößert das Fenster nur entsprechend), muss man noch die Ausmaße des Bildschirms bestimmen. In JavaScript kann man diese Werte aus dem screen-Objekt erhalten:
| screen.availWidth enthält die Bildschirmbreite.
| screen.availHeight enthält die Bildschirmhöhe.
Eine Funktion zum Maximieren des Fensters sieht also folgendermaßen aus: Die linke obere Ecke des Fensters wird zunächst an die linke obere Ecke des Bildschirms gesetzt, und dann wird das Fenster entsprechend vergrößert.
    function maximieren() {
       window.moveTo(0, 0);
       window.outerHeight = screen.availHeight;
       window.outerWidth = screen.availWidth;
    }
### 8.8.2 Fensterinhalt scrollen Bereits in JavaScript Version 1.1 wurden Methoden zum Scrollen des Fensterinhalts eingeführt. Die dazugehörige Methode heißt window.scroll(x, y). Sie scrollt den Fensterinhalt an die angegebenen Koordinaten. Es ist eigentlich unlogisch, dass das Scrollen eine Methode des window-Objekts ist, da ja nicht das Fenster gescrollt wird, sondern das Dokument, das sich darin befindet. Auch hier gilt: Übertreiben Sie es nicht. Der Benutzer ärgert sich immer, wenn er das Gefühl hat, nicht die Kontrolle über ein Fenster zu besitzen. Scrollen Sie also nur dann, wenn es wirklich Sinn macht. Eine der möglichen Anwendungen besteht darin, nach oben zu scrollen. Auf vielen längeren Webseiten finden Sie einen Link, der nach oben scrollt – Sie ersparen Ihren Benutzern so die Mühe, mit der Maus den Scrollbalken zu treffen. Dieser Effekt wird meistens so angeboten:
    <a href="#top">nach oben</a>
Am Anfang des Dokuments befindet sich eine Textmarke namens "top", zu der dann gescrollt wird. Das ist ein netter Effekt, vor allem bei längeren Dokumenten. Zum einen jedoch ändert sich die URL – was Neulinge immer stark irritiert, man glaubt es kaum –, und zum anderen ist es bei komplexeren Dokumenten nicht immer möglich, ganz oben eine Textmarke unterzubringen. Wenn beispielsweise direkt nach dem <body>-Tag ein Werbebanner eingefügt wird (manche Gratis-Hoster machen das so), kann man nie nach ganz oben scrollen. Das Scrollen an den Dokumentenanfang geht ganz bequem. Es muss einfach zu den Koordinaten (0, 0) gescrollt werden:
    <a href="javascript:window.scroll(0, 0)">nach oben</a>
In JavaScript 1.2 wurden zwei neue Methoden eingeführt. Dabei verhält sich window.scrollTo(x, y) genauso wie window.scroll(x, y), während window.scrollBy(x, y) neu ist: Ebenso wie bei window.moveBy(x, y) wird hier relativ gescrollt. Die Methoden zum Scrollen werden im Zusammenhang mit der exakten Positionierung von HTML-Dokumenten bei DHTML noch interessant werden; fürs Erste aber sollte dieser Einblick genügen. 1 Der Koordinatenursprung liegt in der linken oberen Ecke des Bildschirms. Ein kurzes Wort zu diesem neuen Sprachelement von JavaScript. Bei with() handelt es sich primär um eine Sprachabkürzung. Wenn Sie, wie im Listing gezeigt, with (fenster.document) { ... } verwenden, können Sie sich innerhalb der geschweiften Klammern das Tippen von fenster.document sparen; die Aufrufe open(), write() und close() beziehen sich hier alle auf fenster.document, da dieses Objekt bei with() in den runden Klammern angegeben worden ist.
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de