Summary

  • Mozillas archivierte Nachrichten erwähnen Pop-up-Sperren im März 2003 und Verbesserungen bei Mozilla 1.4 im Juni desselben Jahres.
  • IE6 unter Windows XP SP2 prüfte, ob ein Nutzer unmittelbar zuvor geklickt hatte. Für moderne window.open()-Aufrufe verlangt die Mozilla-Dokumentation je einen eigenen Nutzergestus.

Die Seite konnte um ein neues Fenster bitten. Die Frage, wer darum gebeten hatte, stellte zunächst kaum jemand. In Mozillas archivierten Produktnachrichten erscheint Pop-up-Blocking im März 2003 als vorhandene Funktion; bei der Veröffentlichung von Mozilla 1.4 im Juni wurden Verbesserungen genannt. Der Browser rückte zwischen das Skript der Seite und den Arbeitsplatz des Lesers. Er nahm am Empfang Platz.

Der Microsoft-Leitfaden zur Einführung von IE6 mit Windows XP Service Pack 2 beschreibt den ersten eingebauten Pop-up-Blocker des Internet Explorer und eine Informationsleiste für blockierte Vorgänge. Am 6. August 2004 meldete Microsoft die Freigabe von SP2 an die Hersteller. Die Verteilung auf Rechner folgte gestaffelt. Die neue Regel fragte nach dem letzten Schritt des Menschen vor dem neuen Fenster.

Microsofts technische Darstellung erklärt, dass IE6 SP2 einen Klick auf einen Link oder ein Seitenelement erkannte. Ein dadurch ausgelöstes Fenster wurde anders behandelt als eines, das allein durch Seitenskript entstand. Die Informationsleiste hielt ein gesperrtes Fenster bereit; der Nutzer konnte es selbst öffnen. Die Seite durfte also anklopfen. Der Browser prüfte, ob der Besucher bereits an der Tür stand.

Die heutige Mozilla-Referenz für window.open() verlangt direkte Nutzereingabe und für jeden Aufruf eine gesonderte Geste. Scheitert die Öffnung am Blocker, kann null zurückkommen. Dieses Ergebnis gibt einer Webseite eine klare Aufgabe: Sie kann den Inhalt in einem vorhandenen Fenster oder auf anderem Weg anbieten. Ein verschwundenes Zusatzfenster braucht einen sichtbaren Ersatz im Ablauf.

Das aktuelle HTML-Modell für Nutzeraktivierung behandelt die Geste als kurzlebigen Zustand. Bestimmte Funktionen verbrauchen ihn. Danach benötigt ein weiterer Aufruf eine weitere Handlung. Der Verbrauch erfasst auch verschachtelte Frames, damit ein Klick nicht durch viele iframes wandert und überall neue Fenster bezahlt. Die Einladung ist zeitlich begrenzt und nach Gebrauch verbraucht.

So lernten Webseiten Tischmanieren. Ein vom Leser angeforderter Zusatzraum konnte sich öffnen. Eine ganze Reihe von Skriptgästen musste an der Kordel warten. window.open() blieb Teil des Webs; der Browser verlangte einen Absender für den Besuch.