salve.
sto tentando di utilizzare questo pattern ajax ma senza successo.
in pratica vorrei caricare inizialmente solo alcune parti di una pagina (testo,titolo etc) e, una volta fatto questo, scaricare le altre parti (immagini...).
questo è lo script:
viene lanciato con il window.onload.Codice PHP:
function scaricaFoto(div)
{
var oggetto=creaOggettoXMLHttp();
var nome_foto=div.firstChild.id;
oggetto.open("get", "ajax/preleva_foto.php?foto=" + nome_foto, true);
oggetto.onreadystatechange=function()
{
if (oggetto.readyState==4)
{
if (oggetto.status==200)
{
var el=document.getElementById(div.id);
var figlio=el.firstChild;
el.removeChild(figlio);
el.innerHTML=oggetto.responseText;
}
}
}
oggetto.send(null);
}
function scaricaImmagini()
{
var div=document.getElementsByTagName("div");
for (var a=0;a<div.length;a++)
{
if (div[a].id.indexOf("foto")!=-1)
{
scaricaFoto(div[a]);
}
}
}
la pagina php semplicemente prende il parametro passato da url costruisce e restituisce il tag <img>. durante il caricamento dell'immagine all'interno del div che la conterra c'è un altra immagine, una gif animata che comunica l'attesa.
questo il problema; con una connessione veloce tutto sembra immediato, mentre con un 56k le gif animate spariscono dopo qualche secondo, ma l'immagine che dovrebbe sostituirla impiega parecchi secondi in più. l'effetto è sgradevole perchè sparisce la gif e per parecchi secondi l'utente non sa che cosa sta succedendo.
spero di essermi spiegato.
come risolvere?
mille grazie