per Link ein neues Fenster öffnen (Tutorial die 2.)

D

Dunsti

Auf Wunsch von Klon, hier nochmal ein Tutorial zum öffnen eines neuen Fensters bei Klick auf einen Link:

Bei dieser Variante werden der Dokumentname, die Fensterbreite und die Fensterhöhe als Variablen übergeben.
In dem Skript wird dann die Fensterposition abhängig von der Größe so berechnet, daß das neue Fenster zentriert auf dem Bildschirm angezeigt wird.

In einer externen Datei wird das Skript gespeichert (z.B. myscripts.js) :
Code:
function fenster(winname,breite,hoehe) {
	var links=screen.width/2-breite/2;
	var oben=screen.height/2-hoehe/2;
	NewWin = window.open(winname, "titel", "width="+breite+",height="+hoehe+",top="+oben+",left="+links);
}

Im Kopfbereich des HTML-Dokumentes wo der Link steht muss dann folgendes stehen:
Code:
<SCRIPT LANGUAGE="JavaScript1.2" src="../scripts/myscripts.js"></SCRIPT>

Der eigentliche Link sieht so aus:
Code:
<A HREF="javascript:fenster('seite.html',500,400)">link mit neuem Fenster</A>
ACHTUNG !!!! javascript ist EIN Wort

das war schon alles :)

Trotzdem noch zwei Hinweise:
1.) wenn das neu geöffnete Fenster (versehentlich oder absichtlich) in den Hintergrund geklickt wird (z.B. wenn es nicht geschlossen sondern minimiert wird) gehen keine weiteren Fenster mehr auf.
Dies kann man verhindern, wenn man in dem <BODY>-Tag der zu öffnenden Seite folgendes einbaut: ONBLUR="javascript:window.close()" (auch hier ist "javascript" wieder EIN Wort)

2.) wenn die Größe des neuen Fensters größer ist als die Bildschirmauflösung, sollte man auf das zentrieren verzichten, da ansonsten die Titelleiste außerhalb des Bildschirms rutscht, und man das Fenster nicht mehr schließen oder verschieben kann. Tip: die Werte "oben" und "links" auf 0 setzen.

Gruß
Dunsti
 
na dann muss ich ja wohl auch mal mein script veröffentlichen ;)

Code:
<HTML>
<HEAD>
<SCRIPT LANGUAGE ="JavaScript">
<!--
function POPUP(_URL,_ID,_X,_Y,_SPEC)
 {
 DAY = new Date();
 DATE = DAY.getTime();
 var ID = ((_ID == "_DATE") ? DATE : _ID);
 window.open(_URL, _ID, "width=" + _X + ",height=" + _Y + "," + _SPEC);
 }
//-->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="JavaScript: POPUP('http://www.tutorials.de','_DATE',640,480,'resizable=no')">
KLICK HIER F&Uuml;R TUTORIALS.DE, ID=TIME, 640x480, RESIZABLE=NO</A>
</BODY>
</HTML>
sollte halbwegs selbstklärend sein ;) eine genauere beschreibung mit liste der attribute demnächst auf meiner tuts-site hehe

greets, xxenon (nicht vergessen javascript zusammenschreiben)
 
hallo,

ja der thread kommt aus der tiefe ...
ich hatte bisher keinen bedarf mich hier zu regestrieren, da alles was ich brauche über die suchfunktion zu bekommen ist.

dennoch beisse ich mich jetzt seit gestern an diesem thema fest !

der script hier funktioniert einwandfrei.

...aber warum hat mein neues fenster den namen " unbekanntes dokument - micro........"
kann mir einer sagen wo ich denn mein dokument benennen kann ?
den hier beschriebenen link " <A HREF="javascript: POPUP('http://www.tutorials.de','_ ........)
habe ich durch meine seite ersetzt " 'wa.htm'"
diese seite hat den top_frame, left_frame und main_frame .
alle frames sind benannt, die seite wa.htm (worunter alle frames sind) natürlich auch.
aber irgendwie liest "er" das nicht aus, oder ich muss den namen schon im script angeben... aber wie ?

und könnte mir vielleicht auch jemand sagen warum in dem script überall was von DAY und DATE steht ?

danke euch

p.s.
ich weiss... ich hab keine ahnung und bin am verzweifeln...
ich benutze dw2004 MX


vielen dank
 
Zurück