Frank Bergermann: Popupfenster

Beitrag lesen

Vielleicht ist auch der ganze Ansatz falsch..

Eher ja.

Man kann Links auch so definieren, daß sie sowohl mit als auch ohne JavaScript funktionieren. Der obige Ansatz funktioniert nur mit Scripting, nicht ohne.

Auch die Größenangaben sind meist überflüssig, denn Browser oder Betriebssystem haben da meist eine gute Vorseinstellung.

Beispiele:

<a href="datei1.htm" target="_blank" onClick="open('datei1.htm','_blank','resizable=true,scrollbars=true');return false">Datei 1</a>

<a href="datei2.htm" target="_blank" onClick="open('datei2.htm','_blank','resizable=true,scrollbars=true,width=640,height=480');return false">Datei 2</a>

<a href="datei3.htm" target="_blank" onClick="open(this.href,this.target,'resizable=true,scrollbars=true');return false">Datei 3</a>

Es wird ein normaler HTML-Link (mit target="_blank") definiert, der dann um den onClick-Eventhandler erweitert wird. Dieser ruft das Fenster mit JavaScript auf und bricht den normalen Link ab (";return false"). Wenn Scripting deaktiviert ist, fällt der Eventhandler flach und stattdessen wird der normale HTML-Link ausgeführt (deshalb target="_blank").

Das erste Beispiel verzichtet auf die Größenangabe und überläßt es dem System.

Das zweite Beispiel macht feste Größenangaben.

Das dritte Beispiel verzichtet auf die doppelte Angabe von Datei und Target und ist daher einfacher zu warten bzw. die HTML-Seite ist einfacher um weitere Links zu ergänzen, man kann nicht so leicht eine Angabe vergessen und somit unterschiedliche Dateien angeben. Funktioniert allerdings nicht mit Browserversionen 3.0, die kennen die Angabe this im Link nicht. Allerdings existieren diese Browser wohl nur noch, um Browserkompatiblität zu testen und wohl nicht mehr, um damit zu surfen (meiner Meinung nach).

Bei kleinen Dokumenten erzeugt der IE eine leere Scrollbar rechts, dies läßt sich im aufgerufenen Dokument mit
<body scroll="auto">
abstellen.

Generell sollte man immer Scrollbars und Resizable erlauben, da der Anwender im Browser die Standardschriftgröße leicht ändern kann (MSIE: Menü Ansicht Schriftgrad) und die Darstellung bei jedem unterschiedlich viel Platz beansprucht. Vorsicht Tippfehlergefahr: resizable kommt zwar von resize, aber man hängt nicht nur das "able" an, man läßt auch das "e" weg. Es heißt also nicht resizeable, sondern resizable.

Interessant auch mal, F11 im PopUp zu drücken. Oder gleich jetzt einmal. F11=Vollbildmodus (IE, Opera). Im PopUp wird auch der Leisten-Status getauscht (an/aus). Allderdings überschreiben sie dann manchmal den obersten Text.

Anmerkungen: bei AGB's sollte man auch
,menubar=yes
verwenden, damit diese Ausgedruckt werden können.

Der IE unterstützt
,fullscreen=yes
(Vollbild, sogar ohne Titel und Schließbuttons), dann sollte man im aufgerufenen Dokument einen Schließlink einfügen:
<a href="javascript:self.close()">SCHLIESSEN</a>