Mehrere Popups automatisch wieder schließen

DJCanni

Grünschnabel
Hallo Leute!

Mein Problem:
Wenn man auf EINEN Link klickt sollen sich MEHRERE Popups in jeweils einem kleinen Fenster öffnen und nachdem sie fertig geladen sind wieder automatisch schließen.
Außerdem soll eine Seite sich ganz normal öffnen und auch geöffnet bleiben.

Habe heute den ganzen Tag probiert es selbst hinzubekommen, aber es hat sich immer nur das letzte Popup geöffnen und ist dann auch offen geblieben :(
Hoffe ihr könnt mir weiterhelfen.


MfG
DJCanni
 
Javascript:
// Öffnet 10 Fenster und erzeugt ein Array (arr) mit Referenzen
//+auf die einzelnen Fenster damit sie später wieder geschlossen werden
//+können
for(i=0; i<10; ++i) {
    arr[i] = window.open('seite'+ i +'.html','Fenster'+ i,'width=200');
}

// Öffnet das letzte Fenster, dass sich nicht wieder schließen soll
window.open(...)    // "..." ist hier ein Platzhalter für die Parameter
 
// Prüft alle zehntel Sekunde, ob die Fenster fertig geladen wurden 
//+und schliesst die fertig geladenen dann sofort
setIntervall('closeOnLloaded()',100);
function closeOnLloaded() {
    for( i=0; i<arr.length; ++i)
         if( arr[i].document.getElementsByTagName('body')[0] )
              arr[i].close();
}

Prinzip sollte klar sein, musst du narürlich auf diene Situation anpassen. Hoffe ich habe dich richtig verstanden, wenn nicht, kannst du ja nochmal mit Erläuterung hier posten.
 
Zuletzt bearbeitet:
ich werde es mal ausprobieren...danke aber schonmal für den schnellen Support =)

*UPDATE*
wo lege ich die Seiten fest die in den Popups geldaden werden sollen?

->Erläuterung:
Ich möchte, dass verschiedene, aber bestimmte Seiten in den Popups geladen werden. Diese sollen nur einmal geladen werden und sich dann wieder schließen.
-----
Optimal wäre es, wenn sich die Popups schon nach ca. 5 Sekunden wieder schließen würden...Also sie brauchen nicht ganz fertig geladen zu sein...
 
Zuletzt bearbeitet:
soo ich habs soweit mit einer anderen Methode hinbekommen...jetzt müssen die Popups nur noch nach 5sek wieder automatisch zugehen...das bekomm ich einfach nicht hin...
hier mein code:

<html>
<head>
<title>XXX</title>
</head>
<body>
<center><h1><a href="#" onClick="
window.open('http://www.xxx.de/aaa','1','width=100,height=100,left=0,top=0');
window.open('http://www.xxx.de/bbb','2','width=100,height=100,left=0,top=0');
window.open('http://www.xxx.de/ccc','3','width=100,height=100,left=0,top=0');
window.open('http://www.xxx.de/ddd','4','width=100,height=100,left=0,top=0');
window.open('http://www.xxx.de/yyy.html')
">>HIER KLICKEN<</a>
<br>
Danke für deine Unterstützung!
</h1></center>
</body>
</html>
Irgendwas mit timeout muss glaube ich noch hinter den verschiedenen Links stehen...
Wenn man auf"HIER KLICKEN" klickt sollen sich halt die 4 Popups öffnen und dann nach 5sek wieder schließen...und die letzte Seite soll offen bleiben
 
Okay du hast also offensichtlich null Ahnung von Javascript. In diesem Fall lies dir bitte dieses Thema aufmerksam und vollständig durch, bevor du das nächste Mal postest. Danke. Außerdem gilt es als unhöflich Leuten PMs zu schreiben und sie zu bitten auf deinen Beitrag zu antworten, wenn du den Beitrag erst vor fünf Minuten geschrieben hast. Das nur so am Rande.

Nun zu deinem Problem. Wie ich schon erwähnt habe, musst damit du die Fenster schließen kannst sie erstmal ansprechen können. Das tust du indem du eine Variable mit einer Referenz auf das Fenster belegst. In deinem Beispiel könnte das so aussehen:
HTML:
 			 				<html>
<head>
<title>XXX</title>

<script type="text/javascript">
// Dieses Array speichert die Referenzen auf die Fenster
var arr = new Array();

// Diese Funktion öffnet die PopUps und ruft nach fünf Sekunde die Funktion zum schließen auf
function openPops() {
   arr[0] = window.open('http://www.xxx.de/aaa','1','width=100,height=100,left=0,top=0');
   arr[1] = window.open('http://www.xxx.de/bbb','2','width=100,height=100,left=0,top=0');
   arr[2] = window.open('http://www.xxx.de/ccc','3','width=100,height=100,left=0,top=0'); 
   arr[3] = window.open('http://www.xxx.de/ddd','4','width=100,height=100,left=0,top=0');
   arr[4] = window.open('http://www.xxx.de/yyy.html');
   window.setTimeout('closeAllPops()',5000);   //5000 Milisekunde sind fünf Sekunden
}

// Funktion zum Schließen
function closeAllPops() {
    for( i=0; i<arr.length; i++ )
        arr[i].close();
    arr = new Array();
}
</script>

</head>
    <body>
	<center><h1><a href="#" onclick="openPops()">>HIER KLICKEN<</a>
	<br>
	Danke für deine Unterstützung!
	</h1></center>
    </body>
</html>

Habe das Script schnell runter geschrieben. Könnten noch kleine Fehler drin sein. Wenn dem so ist, dann berichtige die bitte selber. Die Fehlerkonsole deines Browser wird dir dabei helfen. Eigentlich hätte dich schon mein erstes Script auf Ideen bringen können. Etwas mehr selbständigkeit wäre hier wünschenswert.

P.S.
Dein HTML ist grausam.
 
Okay du hast also offensichtlich null Ahnung von Javascript. In diesem Fall lies dir bitte dieses Thema aufmerksam und vollständig durch, bevor du das nächste Mal postest.
stimmt...sry mein fehler...

Außerdem gilt es als unhöflich Leuten PMs zu schreiben und sie zu bitten auf deinen Beitrag zu antworten, wenn du den Beitrag erst vor fünf Minuten geschrieben hast.
sogar der letzte Post war schon über eine Stunde drin...bin da schnellen Support gewohnt...allerdings auch in anderen Branchen...Sry wusste net dass es hier nicht so viele gibt die sich um solche Probleme kümmern...kenn das so, dass ich immer einer der Ahnung hat um so einen wie mich kümmert...da ist es nicht unhöflich ne PM zu schreiben um dem "Lehrer" darauf aufmerksam zu machen, dass man erneut eine frage hat...

Ich hoffe ich packs jetzt xD


MfG

DJCanni
 
Jo, wenn nicht kannst du auch gerne hier nochmalposten. Ich war nur ein wenig angepisst von dem noch nicht mal zwei Stunden weg und schon ne Nachricht im Postkasten.
 
Neue Frage:
Kann ich die Popups alle in einem Popup öfnnen lassen, welches dann 5sek offen bleibt, damit nicht unten die ganze Taskleiste für 5sek zugemüllt ist?

Code:
<html>
 <head>
  <title>XXX</title>

  <script type="text/javascript">
   // Dieses Array speichert die Referenzen auf die Fenster
   var arr = new Array();

   // Diese Funktion öffnet die PopUps und ruft nach fünf Sekunde die Funktion zum schließen auf
   function openPops() {
   arr[0] = window.open('about:blank','Popup','width=100,height=100,left=0,top=0');
   window.setTimeout('closeAllPops()',5000);   //5000 Milisekunde sind fünf Sekunden
   }
   // Funktion zum Schließen
   function closeAllPops() {
       for( i=0; i<arr.length; i++ )
           arr[i].close();
       arr = new Array();
   }
  </script>
 </head>
 <body onload="openPops()">
 </body>
</html>

das fettgedruckte ist das Popup in dem die anderen Popups alle geöffnet werden sollen...
 
Zuletzt bearbeitet:
Zurück