Javascript "popup" funktion

JoeB

Grünschnabel
Hi,

ich hab folgenden Skript auf meiner Seite (dies ist nur eine vereinfachte Version):

<html>
<head>
<title>Fenster mit JavaScript</title>
<script type="text/javascript">
<!--
function PopupFenster() {
F = window.open("datei.htm","Popup","width=400,height=300");
}
// -->
</script>
</head>
<body>
<p><a href="javascript:PopupFenster()">Fenster anzeigen</a></p>
</body>
</html>

Nun möcht ich aber mehrereLinks als Popupfester auf der Seite machen und ich seh da net ganz durch. Bin net so Erfahren mit js.
 
Ich würde das so machen:
PHP:
<html>
<head>
<title>Fenster mit JavaScript</title>
</head>
<body>
<p><a href="datei1.htm" onclick="window.open('datei1.htm','_blank','width=400,height=300'); return false;">Link 1</a></p>
<p><a href="datei2.htm" onclick="window.open('datei2.htm','_blank','width=400,height=300'); return false;">Link 2</a></p>
<p><a href="datei3.htm" onclick="window.open('datei3.htm','_blank','width=400,height=300'); return false;">Link 3</a></p>
</body>
</html>
Du siehst, dass ich die Links etwas geändert habe. Das liegt daran, dass ihn so a) auch Leute öffnen können, bei denen JavaScript deaktiviert ist und man ihn so b) auch über die Funktion "Link in neuem Fenster/Tab öffnen" aufrufen kann.
 
Für ein PopUp, was zentriert erscheint folgendes übernehmen...

Du schreibst dies in den <head>

Code:
<script language="JavaScript" type=text/JavaScript>
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);
if(win.focus){win.focus();}}
function CloseNewWin(){if(win!=null && win.open)win.close()}
window.onfocus=CloseNewWin;
</script>

und dies bei dem link in den <body>

Code:
<a href="seite1.htm" onclick="NewWindow(this.href,'Seite1','250','250','no','center'); return false">Link1</a>
<a href="seite2.htm" onclick="NewWindow(this.href,'seite2','250','250','no','center'); return false">Link2</a>
<a href="seite3.htm" onclick="NewWindow(this.href,'seite3','250','250','no','center'); return false">Link3</a>

Die Fenstergröße musst du dann noch selber verändern.
Vorteil ist noch, dass wenn man nun auf der geöffneten Seite (popup) die 'Fenster schließen'-Methode anwendet, keine Sicherheitsabfrage mehr kommt, ob das Fenster wirklich geschlossen werden soll.
 
Zuletzt bearbeitet:
so, das hab ich als Links stehen:

Code:
<a href="feadback.html"onclick="window.open('feadback.html','_blank','width=600,height=500'); return false;">FeedBack</a>
 
Also, du musst noch dem Link ein extra Namen geben, damit dies eindeutig identifiziert werden kann vom Script.
Wenn mehrere Links auf dieser Seite sind, dann kann es nämlich ohne diese eindeutige Zuweisung zu Problemen kommen...

statt:
<a href="feadback.html" onclick="window.open('feadback.html','_blank','width=600,height=500'); return false;">FeedBack</a>

mal dies probieren:
<a href="feadback.html" onclick="NewWindow(this.href,'feadback','width=600,height=500','no','center'); return false;">FeedBack</a>

hierbei ist 'feadback' in den Klammern die eindeutige Zuweisung...
Du musst dies übernehmen, weil das Script nur so funktioniert

cYa
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück