Fenstersteuerung
In diesem Thema beschäftigen wir uns hauptsächlich mit dem BOM (Browser Object Model). Das wichtigste Objekt des BOMs
ist window
. Die darin enthaltenen Eigenschaften erlauben es, Informationen über die Seite abzufragen, eine
Weiterleitung durchzuführen oder weitere Fenster in Form eines PopUps zu öffnen und zu kontrollieren.
Seiteninformationen
Innerhalb des window
-Objekts gibt es einige Eigenschaften, mit welchen wir Informationen über den Browser bzw. die
angezeigte Seite abrufen können. Ein wichtiges Unterobjekt von window
ist location
. Die darin enthaltenen
Informationen enthalten die URL bzw. deren Bestandteile der aktuellen Seite. Welche Informationen die Eigenschaften enthalten,
lässt sich wohl am einfachsten feststellen, wenn man einfach den untenstehenden Code ausführt oder das untenstehende Beispiel
aufruft:
document.write("innerHeight: " + window.innerHeight + "<br />"); document.write("innerWidth: " + window.innerWidth + "<br />"); document.write("<br />"); document.write("location.protocol: " + window.location.protocol + "<br />"); document.write("location.port: " + window.location.port + "<br />"); document.write("location.host: " + window.location.host + "<br />"); document.write("location.hostname: " + window.location.hostname + "<br />"); document.write("location.origin: " + window.location.origin + "<br />"); document.write("location.pathname: " + window.location.pathname + "<br />"); document.write("location.search: " + window.location.search + "<br />"); document.write("location.hash: " + window.location.hash + "<br />"); document.write("location.href: " + window.location.href + "<br />");
Die Bedeutung von window.location.search
und window.location.hash
geht aus dem obigen Beispiel nicht vor,
weshalb wir diese hier nochmals aufgreifen möchten. window.location.search
enthält die sogenannte Suchanfrage,
welche mittels GET-Parameter übergeben wurde. Dieser Teil sieht z. B. wie folgt aus: ?name1=wert1&name2&werte
.
window.location.hash
hingegen enthält den Ankernamen inkl. dem #
-Zeichen, welcher der Seite übergeben
wurde (z. B. #bild
). window.location.port
gibt in den meisten Fällen eine leere Zeichenkette zurück, da
Port 80 (für HTTP) bzw. Port 443 (für HTTPs) bereits aus dem Wert von window.location.protocol
hervorgeht.
Weiterleitung
Die Eigenschaften des location
-Objekts lassen sich natürlich nicht nur abfragen, sondern auch zuweisen. Dadurch können wir
mittels JavaScript eine Umleitung auf eine andere Seite durchführen.
window.location.href = "/";
Wichtig: Die Verwendung von window.location.href
gilt als sicherste Variante zum Weiterleiten mit JavaScript.
Natürlich könnten Sie aber auch window.location.pathname
zum Weiterleiten verwenden, wenn Sie innerhalb der gleichen
Domain bleiben. Als Wert für window.location.href
sind neben relativen und absoluten Pfadangaben auch Weiterleitungen
mittels einer URL-Angabe auf andere Domains möglich.
PopUp-Fenster
Mit Hilfe der Funktion open()
des window
-Objekts ist es möglich, ein neues Browserfenster (und somit
u. U. ein PopUp) zu öffnen. Dafür können der Funktion ein oder mehrere Parameter übergeben werden. Im ersten Parameter übergeben wir die
URL der anzuzeigenden Seite. Wird hier lediglich eine leere Zeichenkette übergeben, so wird ein leeres Fenster geöffnet
(Seite about:blank
). Der zweite Parameter ersetzt das target
-Attribut, welches wir bereits von
HTML-Links kennen oder gibt dem Fenster einen Namen. Die Angabe dieses Parameters wird kaum gebraucht,
muss jedoch als leere Zeichenkette angegeben werden, sofern der dritte Parameter benötigt wird. Im dritten Parameter können wir dem
Fenster einige Attribute (in diesem Fall eine Art von Einstellungen) mitgeben, welche im Format name1=wert1,=name2=wert2
angegeben werden müssen. Die Attribute width
und height
legen die Fenstergröße fest. Mit den Attributen
left
und top
lässt sich das Fenster platzieren. Über das Attribut scrollbars
und die Werte
yes
und no
lässt sich die Anzeige von Scrollbalken steuern (diese werden in den meisten Browsern bei PopUps
standardmäßig ausgeblendet).
function PopUpOeffnen() { window.open("/", "", "width=350,height=400,top=100,left=100,scrollbars=yes"); }
Übrigens: Die Funktion open()
gibt das window
-Objekt des PopUps zurück. Dadurch ist es möglich, auf das
Fenster und dessen Elemente (DOM) vollständig zuzugreifen. Natürlich können wir auch Events im PopUp registrieren. Mittels der Funktion
close()
ist es zudem möglich, das Fenster wieder zu schließen. Dies funktioniert jedoch ausschließlich bei PopUps.