Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (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 von octavia
Geschrieben

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.

Geschrieben

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

Geschrieben

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

Geschrieben

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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...