2011-03-10 3 views
0

jquery noob essayant de mettre dynamiquement à jour un div (#allimages) avec un nouveau html créé dynamiquement par un script PHP (hpimages.php). On dirait que load() serait la chose, et j'ai trouvé une bonne fonction en faisant la mise à jour here. Voici le code que je utilise:Fonction jquery load() fonctionnant dans Firefox mais pas dans Chrome

$.ajaxSetup({ cache: false }); 

$("#allimages").load("hpimages.php"); 
var refreshId = setInterval(function() { 
$("#allimages").load('hpimages.php?randval='+ Math.random()); 
}, 1000); 

Il fonctionne très bien dans Firefox ... garde rechargeant les coulisses de sorte que quand il y a du nouveau contenu, il apparaît sur la page. Cependant, il se comporte différemment dans Chrome: #allimages est mis à jour chaque seconde, mais au lieu de REMPLACER le html existant par le html provenant de hpimages.php, il ajoute le nouveau html à l'ancien, ainsi la page commence à grossir avec du contenu répété . Des idées sur la façon de résoudre dans Chrome?

+0

Je devrais ajouter que j'exécute ceci sur le serveur, pas localement, car je peux voir que ce problème a été adressé dans d'autres questions. – icleary

Répondre

0

Un travail sale serait de vider le div en premier.

$("#allimages").html("").load(//... 

Je voudrais aussi décomposer votre page en quelque chose de testable et signaler un bug. Vous pouvez constater que vous l'avez foiré quand vous réduisez le code.

+0

merci pour la réponse rapide ... J'ai essayé de vider la div, mais cela fait clignoter la page chaque fois qu'elle rafraîchit. – icleary

+0

C'est un peu ce qui va se passer. Comme cela ne cause qu'un problème dans le chrome (êtes-vous sûr de ne pas aussi safari/webkit?), Vous pouvez vérifier webkit/chrome et définir 'html (" ")' dans une instruction if séparée. Ensuite, la 'charge' arrivera pour tout le monde. –

+0

Pourquoi le vote à la baisse sur ce? –

Questions connexes