octavia Geschrieben 27. Oktober 2010 Teilen Geschrieben 27. Oktober 2010 (bearbeitet) 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 2010 von octavia Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 29. Oktober 2010 Teilen Geschrieben 29. Oktober 2010 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
octavia Geschrieben 30. Oktober 2010 Autor Teilen Geschrieben 30. Oktober 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 1. November 2010 Teilen Geschrieben 1. November 2010 Dein Arrayansatz nutzt mehrere Timeouts. Probier es nur mit einem! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
octavia Geschrieben 1. November 2010 Autor Teilen Geschrieben 1. November 2010 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 1. November 2010 Teilen Geschrieben 1. November 2010 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.