ho fatto una chat in php, compare in un iframe e ogni tot secondi si aggiorna tramite un refresh.
siccome ai partecipanti è associato un avatar nel refresh sorge un fastidioso ed antiestetico ritardo causato dal caricamento delle immagini ho pensato di metterci un preload in JS. con una select costruisco il nome dell'avatar ke è l'id dei partecipanti .gif
ma non mi funzione il refresh è sempre irritante, non mi è mai stato simpatico incastonare JS con php, ecco il codice
Codice PHP:
$selezione = mysql_query("
SELECT DISTINCT id_mittente FROM pmc_chat GROUP BY id_mittente");
$quanti_id = mysql_num_rows($selezione);
if ( $quanti_id > 0 ) {
echo "
<script>
immagini=new Array()
immagini[0]=\"../../../grafica/no_foto.gif\";
immagini[1]=\"../../../grafica/ombra_avatar.gif\";
";
$contatore_img = 1 ;
while ($riga_id_img = mysql_fetch_array ( $selezione_id_utenti_messaggi ) )
{
if ( !empty($riga_id_img['id_mittente'])) {
$avatar = "../../../file_correlati/foto_utenti/".$riga_id_img['id_mittente'].".gif" ;
$contatore_img++ ;
echo "immagini[$contatore_img]=\"$avatar\"; ";
} // fine if ( !empty($riga_id_img['id_mittente']))
} // fine while ($riga_id_img
echo "
arr_img=new Array()
for(i=0;i<immagini.length;i++){
arr_img[i]=new Image()
arr_img[i].src=immagini[i]
}
</script>
";
} // fine if ( $quanti_id > 0 )