Script im Head Bereich
<script language="JavaScript" type="text/javascript">
<!--
function fensterauf(seite,fenstername,eigenschaft){
window.open(seite,fenstername,eigenschaft);
}
//-->
</script>
Ein Button im Body Bereich
<form>
<input type="button" value="neues Fenster" onClick="fensterauf('seite.htm','Zweitfenster','width=450,height=170')">
</form>
<a href="#" onClick="fensterauf('seite.htm','viertfenster','width=450,height=270');return false">neues Fenster</a>
Da der Link nur dazu dienen soll, die Funktion aufzurufen, jedoch mit dem Link keine neue Seite geöffnet werden soll, kann man anstatt der URL das Gatterzeichen einsetzen. Das Gatterzeichen bewirkt allerdings, dass man wieder oben zum Anfang der Seite springt. Damit auch das nicht passiert, muss man mit einem zweiten Befehl verhindern, dass der Link überhaupt ausgeführt wird. Das geschieht mit dem Befehl return false. Dieser zweite Befehl wird durch Strichpunkt getrennt hinter der ersten Funktion fensterauf() aufgeführt.
<a href="#" Anweisung1; Anweisung2; Anweiwsung3 >Linktext</a>
Es gibt noch eine andere Möglichkeit einen Link zu erstellen, der keine Seite aufruft und zwar folgendermaßen:
<a href="javascript:;" onClick="fensterauf('seite.htm','viertfenster','width=450,height=270')">neues Fenster</a>
Erklärung der Funktion:
Auch hier haben wir wieder eine Funktion mit Parameter in der Klammer hinter
dem Funktionsnamen. Hier wurden mehrere Parameter vergeben, die mit Kommata getrennt aufgeführt werden:
Die drei Parameter der Funktion
seite ist der erste frei vergebene Parametername in diesem Beispiel. Er steht für den link. Im Formular Button wird der Wert 'seite.htm' zugewiesen
fenstername ist der zweite selbst vergebene Parametername. Er steht für den Namen des neuen Fensters. Der Name des Fensters
erfüllt die gleiche Funktion, wie der Name eines Fensters im Frameset. Dadurch
hat man die Möglichkeit eine Seite über einen link mit dem target Befehl
in diesem Fenster zu öffnen. Hier ein link für das erste Fenster, namens Zweitfenster, welches man natürlich zuerst
aufrufen muß. <a href="seite2.htm" target="Zweitfenster">link</a>
Außerdem braucht man auch mehrere Namen, wenn man mehrere Fenster öffnen
will.Wenn man jedoch mehrere Links in einem neuen Browserfenster aufrufen
will, sich aber nicht sicher sein kann, ob das Fenster schon geöffnet
ist, sollte man einfach jedesmal per Javascript ein neues Fenster öffnen
und dabei immer den gleichen Namen vergeben. Außerdem sollten bis
auf die URL alle anderen Eigenschaften übereinstimmen.
Nochwas, unter Diverse findet man ein Script,
womit man 2 Seiten in 2 Framefenstern gleichzeitig öffnet (das läßt
sich allerdings nur auf die Fenster eines Framesets anwenden).
width=200 | Breite in Pixeln |
height=200 | Höhe in Pixeln |
top=10 | der obere Rand ist 10 pixel vom oberen Bildschirmrand entfernt |
left=10 | der linke Rand ist 10 Pixel vom linken Bildschirmrand entfernt |
statusbar=1 | Statuszeile wird angezeigt |
resizable=1 | die Größe des Fensters kann vom user geändert werden |
scrollbars=1 | das Fenster hat Scrollleisten wenn erforderlich |
menubar=1 | Menue eingeblendet |
personalbar=1 | persönliche Symbolleiste eingeblendet |
toolbar=1 | Navigations Symbolleiste eingeblendet |
location=1 | Adressen Symbolleiste eingeblendet |
directories=1 | Verzeichnisse |
Hier ein Button, der all diese Eigenschaften zugewiesen bekommen hat. Eine häufige
Fehlerquelle sind Leerzeichen zwischen den Eigenschaften des dritten Parameters.
<form>
<input type="button" value="neues Fenster mit allem"
onClick="fensterauf('seite.htm', 'drittfenster', 'width=500,height=400,directories=1,location=1,menubar=1,personalbar=1,toolbar=1,scrollbars=1,resizable=1,top=50,left=100,statusbar=1')"
>
</form>