Popup mit einem Link öffnen

Fenster ohne Eigenschaften

Um ein Popup mit einem Verweis zu öffnen, schreibe folgende Funktion in den head der Seite. In der Voreinstellung werden (wurden!) Adresszeile, Statusleiste usw. ausgeblendet:

<script type="text/javascript">
<!--
function info()
 {
  werbung=window.open('info.htm','popup','width=420,height=265,top=135,left=135');
  werbung.focus;
 }
//-->
</script>

Der Link, der die Funktion aufruft, sollte so aussehen:

<a href="info.htm" target="_blank" onclick="info(); return false;">Linktext oder Bild</a>

Durch diese Schreibweise des Links erreichst Du, daß der Link auch ausgeführt wird, wenn JavaScript deaktiviert ist. Er öffnet halt in einem normalen Browserfenster. Durch return false wird verhindert, daß der HTML-Link ausgeführt wird, wenn JavaScript aktiviert ist. Ausserdem wird das Linkziel in der Statusleiste angezeigt.

Wenn Du dieses Skript in den Quelltext einfügst, solltest Du die Zeilenumbrüche innerhalb des Anweisungsblocks vermeiden, da es sonst zu einem Skriptfehler kommt, da das Skript die weiteren Parameter nicht mehr findet.

Optionale Parameter

Um bestimmte Fensterelemente oder -eigenschaften doch nicht auszuschalten, kannst Du folgende optionale Parameter mit in die Funktion schreiben: scrollbars, toolbar, location, directories, status, menubar, resizable, copyhistory.

Browserunterstützung

Achtung! Da mit dem Abschalten der Fenstereigenschaften viel Schindluder getrieben wurde (von der alltäglichen Gängelung des Besuchers bis hin zu Versuchen, ihn auf Seiten zu locken, die ungefragt oder durch Irreführung Viren, Trojaner, Dialer und sonstige Schadprogramme auf dem Rechner des Besuchers installieren), sind einige dieser Eigenschaften in modernen Browsern nicht mehr abschaltbar. Sogar der alte Internet Explorer 6 wurde mit einigen Sicherheitsfunktionen aufgerüstet, so daß sich z. B. die Statusleiste nicht mehr ausblenden läßt.

Ich selbst habe meinen Browser sogar noch weiter optimiert: Bei mir läßt sich gar nichts ausblenden. Denke also daran, daß Effekte, die auf Deinem eigenen Rechner mit mangelhaften Sicherheitseinstellungen gut aussehen, bei anderen Besuchern albern wirken. Kleine Popups, deren Größe auf den Inhalt abgestimmt ist, bestehen bei mir z. B. ausschließlich aus Menüleisten. Dann muß ich das Fenster erst vergrößern, um an den Inhalt zu kommen...

Automatisches Schließen

Um zu erreichen, daß das Fenster sich automatisch schließt, wenn es inaktiv wird, sprich, in den Hintergrund rutscht, fügst Du in den body der Seite, die im Popup aufgerufen wird, folgendes ein:

<body onblur="self.close();">

Diese Anweisung hat zur Folge, daß, sobald das Fenster den Focus verliert, dieses geschlossen wird. Aber Achtung: Dies ist auch dann der Fall, wenn Du in das Fenster hinenklickst. Durch diese Anweisung wird es unmöglich, in dem Fenster irgendeine Aktion auszuführen, da es sich dann sofort schliesst. Es eignet sich somit nur, wenn Du lediglich Bilder oder Inhalte anzeigen möchtest, die keinerlei Interaktion erfordern.

Achtung! Viele Anfänger möchten gern die eigene Seite in einem Popup öffnen, dann aber das eigentliche Browserfenster schließen. Mit der obigen Anweisung lassen sich allerdings nur per Skript geöffnete Fenster (also Popups) schließen, keine normalen Fenster. Es kommt zumindest eine Sicherheitsabfrage, ob der Besucher wirklich sein Browserfenster schließen möchte. In dessen Fenster befindet sich nämlich die history (also eine Liste der bisher besuchten Seiten); außerdem unterstützen moderne Browser das Öffnen mehrerer Seiten in einem Fenster („tabbed browsing“). Das Fenster hat also einen großen Wert für den Besucher.

Viel Spaß!
Jane & Kurt

Angelegt: Vor meiner Zeit
Letzte Bearbeitung: 2005/06/11 / 14:11:01