php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Automatisch statt per Klick


 
DarkWanderer
17-02-2003, 00:00 
 
Hallo, ich mal wieder, der Mann mit den vielen Fragen ;)

Also ich hab bei mir viele Links die man anklicken kann und es sich dann ein kleines Hilfefenster öffnet welches Informationen ausgibt, klappt auch alles wunderbar und genau nach meinen Wünschen.
Das ganze mache ich so :


<td align='center' width='20%' style='background-color:#000066;color:#ffff00;font-size:12px'><a href='help_item1.php'
target='item1' onclick="window.open('','item1','top=50,screenX=50,left=100,screenY=100,height=300,width=500')">
<? echo $item1_name ?></a> : <? echo $item1 ?></td>

So, das ganze hab ich so in meinem php Script drin und es klappt bestens.

Nun habe ich aber einen Fall, bei dem ich so ein kleines Fenster automatisch öffnen möchte, statt durch einen Klick.
Und zwar möchte ich das, wenn der User eine neue private nachricht erhalten hat. Dies möchte ich einfach bei jeder aktualisierung der Seite abfragen lassen und falls eine Nachricht da ist soll ein kleines Fenster aufgehen, das den User darüber informiert.

Nun endlich die Frage --> Wie öffne ich das Fenster automatisch statt per Klick ?

Danke auch diesmal wieder für eure Hilfe ;)

 
mrhappiness
17-02-2003, 00:09 
 
Prüfen, ob der USer eine neue PM hat machst du ja wahrscheinlich per PHP oder?
Das hier sollte funktionierenif (user_hat_neue_pm)
echo '<script type="text/javascript">
window.open(...);
</script>';und das ganze im head bereich

 
DarkWanderer
17-02-2003, 00:12 
 
Hi,

ja klar das mache ich alles in PHP. Der oben gepostete Code ist zur Zeit auch in PHP eingebettet.
Ja ich weiss, ist nicht so das Ideale aber ich wollte die mir wichtig erscheinenden Funktionen erstmal alle fertig haben und mich dann mit dem "aufräumen" befassen ;)

P.S.: Danke für die Antwort.

 
mrhappiness
17-02-2003, 00:14 
 
Ich hab doch gar nich an deinem Code rumkritisiert oder?
Wenn du Wert drauf legst,kann ich es aber machen... :D

P.S. Bitte :D

 
DarkWanderer
17-02-2003, 00:16 
 
Hmm, ich sag's mal so :

Wenn du einen Vorschlag hast, wie ich das ganze besser lösen kann, dann höre ich mir das gerne an.

Mein Wissen was html und php angeht ist sicherlich alles andere als umfassend oder perfekt und ich habe immer ein offenes Ohr für Verbesserungsvorschläge, sofern ich diese dann auch verstehe *gg*

Also schiess ruhig los wenn ich es anders machen soll, nur kapieren muss ich es ;)

 
Abraxax
17-02-2003, 09:39 
 
ich habe an deinem code auch eigentlich wenig auszusetzen.
er ist vielleicht minimal umständlich aber ok.

mein vorschlag wäre eine fkt zu nehmen, um das fenster zu öffnen.
die kannst du mehrfach verwenden. wenn du was ändern musst,
brauchst du das nur an einer stelle machen.
<?php

// script einmalig definiert -> ausgabe in php
// übergebener parameter ist: windowitem
echo "<script type=\"text/javascript\">\n";
echo "<!-"."-\n";
echo " function openhelpwin(windowitem) {\n";
echo " window.open('','item1','top=50,screenX=50,left=100,screenY=100,height=300,width=500')\">\n";
echo " }\n";
echo "/"."/ -"."->\n";
echo "</script>\n";

// hier in deinem normalen code

echo "<td align=\"center\" width=\"20%\" style=\"background-color:#000066;color:#ffff00;font-size:12px\">\n";
echo " <a href=\"help_item1.php\" target=\"item1\" onClick=\"openhelpwin('item1')\">" . $item1_name . "</a> : " . $item1 . "\n";
echo "</td>\n";

// und hier ein automatischer aufruf, wie happy schon vorgelschlagen hat.
// nur mit aufruf der bereits definierten funktion

if (user_hat_neue_pm) {
echo "<script type=\"text/javascript\">\n";
echo "<!-"."-\n";
echo " openhelpwin('der_andere_automatische_name');\n";
echo "/"."/ -"."->\n";
echo "</script>\n";
}
?>

ich habe teilweise ein paar strings gesplittet, wegen des highlightings
bei // z.b. (zumindest für mich im editor. :))

ich würde dir sogar empfehlen, dass du $item1_name und $item1 in ein array packst.
schliesslich hast du bestimmt auch $item2_name und $item2. oder?


$item[1][name] = "irgendwas";
$item[1][norm] = "irgendwas anderes";

$item[2][name] = "irgendwas";
$item[2][norm] = "irgendwas anderes";

// usw.
// das array kannst du auch mit einer schleife erstellen lassen.
// ich kenne nur die ausgangswerte nicht ... :-)


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:09 Uhr.