Öffnen in JavaScript
HTML
Schon ohne JavaScript kann ein HTML-Anker so geschrieben werden, daß der Inhalt seiner Adresse in einem neuen Fenster angezeigt wird.
- Beispiel
<a href="http://example.com" target="_blank">
Solch ein Anker kann verwendet werden, um die Basisfunktionalität so zu implementieren, daß sie auch für Benutzer ohne JavaScript verfügbar ist.
Browser-Einstellung
Durch Einstellungen des Browsers kann das Öffnen oder Manipulieren neuer Fenster kontrolliert werden. (Beispielsweise: Content > Pop-ups > Block pop-up windows, Tools > Options > Content > Advanced > Raise or Lower Windows.)
»window.open«
Mit Hilfe von »window.open« können neue Browser-Fenster (“pop-ups ”) geöffnet werden. Der Wert des Aufrufs ist das BOM (»window«) des neuen Fensters.
Die Argumente sind
- Adresse
- Name (Titel) des neuen Fensters (kann als »target« in einem Anker verwendet werden)
- Eigenschaften (beispielsweise »height«, »width«, »left«, »top«, »centerscreen«, »outerHeight«, »outerWidth«, »menubar«, »toolbar«, »location«, »personalbar«, »status«, »dependent«, »minimizable«, »resizable«, »scrollbars«). Falls mindestens eine Eigenschaft angegeben wird, werden alle nicht angegebenen auf »no« gesetzt. Leerzeichen sind hier nicht erlaubt.
- Beispiel
window_ = window.open( "", "example", "width=400,height=200" );
document_ = window_.document;
document_.write
( '<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml">'+
'<head><title></title><meta charset="UTF-8" /></head>' +
'<body>' +
' <p>example</p>' +
' <p><a href="javascript:alert(window.location.href)">location</a>.</p>' +
' <p><a href="javascript:window.close()">close</a></p>' +
' </body></html>' );
document_.close();
/* window_.close(); */- Beispiel
window_ = window.open( "http://www.example.com", "example", "width=400,height=200" );
Variablen
Es ist nicht möglich, auf Variablen eines anderen Fensters zuzugreifen, doch steht das BOM eines mit »window.open« geöffneten Fensters als Ergebnis des Aufrufs »window.open« zur Verfügung.
Pop-Under
Ein Pop-Under wird im Hintergrund geöffnet und fällt dem Benutzer dann erst späer auf, wenn er andere Fenster schließt.
Um dies zu erreichen kann das aktuelle Dokument in einem Pop-Up geöffnet werden und das bisherige Fenster als Pop-Under verwendet werden.