Veröffentlicht 27. Oktober 201014 j hallo ich habe nun dieletzten tage versucht eine funktion zu finden die mir z.b. 3 fenster öffnet und nach gewisser zeit schließt (für warnmeldungen) zum öffnen und schließen function popupt($urlp,$numer2){ echo "<script LANGUAGE=JavaScript> j = new Array(); i=\"".$numer2."\"; // alert(i); links=\"".$urlp."\"; // alert(links); alert(links.length); j[i] = window.open(links, i, \"content=10, width=310, height=400, screenX=0, screenY=\" + i * 100); setTimeout('j['+i+'].close()', 10000);\n"; echo "</SCRIPT>\n"; // sleep(2); }[/PHP] teil zum aufruf [PHP] $urlp1="http://www.google.de"; $urlp2="http://www.ebay.de"; $urlp3="http://www.arcor.de"; popupt($urlp1,1); popupt($urlp2,2); popupt($urlp3,4); die links werden geöffnet aber nur der letzte geschlossen. habe es auch mit array probiert aber dies öffnet 1 fenster dann wars das. function popup1($urlp,$numer2){ //$urlp="http://www.google.de"; print_r( $urlp); $urlp[0]="http://www.google.de"; $urlp[1]="http://www.ebay.de"; echo "<script LANGUAGE=JavaScript>\n"; echo "links = new Array()"; foreach (urlp as $key => $wert) { echo "links['$key'] = '$wert';\n"; } echo "alert(links.length);\n"; // echo "aufruf(0,\"".$urlp."\");\n"; echo" i=0; if(i == 0) j = new Array(links.length); j[i] = window.open(links[i], \"Fenster\"i, \"content=10, width=310, height=400, screenX=0, screenY=\" + i * 100); setTimeout('j[i].close()', 10000); if(i < (links.length - 1)) { i++; setTimeout('aufruf(' + i + ')', 2000); } "; echo "</SCRIPT>\n"; }[/PHP] Bearbeitet 27. Oktober 201014 j von octavia
29. Oktober 201014 j Von mir gibt erst mal eine Anmerkung: PHP: echo - Manual. Kennst du die Syntax echo <<<SYMBOL Ganz viel interpolierter Stringinhalt SYMBOL; [/PHP] ? Damit wird dein lesbarer. Außerdem solltest du dir für solche Sachen mal überlegen einen Template-Mechanismus zu verwenden. Dann noch eine Frage: Wie sieht denn der generierte JS-Code aus? Und der eigentliche Denkanstoss. Kann es sein, das Javascript nur einen Thread hat und damit nur ein Timeout unterstützt? Baue dir doch eine Lösung, die die Angaben zum Fenster in einem Array speichert, zusammen mit dem Zeitpunkt des Öffnens. Statt dem Timeout definierst du ein Intervall, das regelmäßig durch das Array geht und die Fenster schliest, wenn die Lebenszeit abgelaufen ist.
30. Oktober 201014 j mit arry habe ich schon probiert. siehe 3. absatz . Nur dort tue ich michetwas schwer mit js die werte zu übergeben bzw 1 wert geht aer nicht mehrere
1. November 201014 j ja da würden aber fenster mit zugehen die offen bleiben sollen. Müsste ja irgndeiw gehen das hanhand einer fensternummer oder id genau dieses fenster zugeht
1. November 201014 j Deswegen die Lebenszeit. jeder Eintrag besteht aus dem Fensterobjekt und dem Zeitpunkt, wann dieses erzeugt wurde. Im Intervall wird eine Funktion aufgerufen, die alle abgelaufenen Fenster schließt.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.