2010-08-05 10 views
3

Je crée une application web qui permet aux utilisateurs de faire des changements via Javascript. Il n'y a pas encore d'AJAX impliqué, donc ces changements au DOM sont faits purement dans le navigateur local de l'utilisateur.Comment puis-je mettre à jour un script JS pour tous ceux qui le consultent?

Mais comment puis-je faire ces changements DOM dans le navigateur de quelqu'un d'autre qui consulte cette page à ce moment-là? Je suppose qu'AJAX serait impliqué ici. Peut-être que la page pourrait simplement renvoyer l'ensemble du code source modifié par JS vers le serveur, puis les autres personnes qui regardent recevront très fréquentes mises à jour AJAX?

Le partage d'écran serait évidemment une solution de contournement facile, mais je suis intéressé de savoir s'il existe un meilleur moyen, tel que décrit ci-dessus.

Merci!

+1

Google « web sockets " – Pointy

Répondre

0

Max,

Ajax devra être impliqué. Si je peux, je voudrais suggérer jQuery comme point de départ pour cela (je sais que vous n'avez pas marqué comme tel, mais je pense que ce serait approprié, même si seulement pour prototyper avec). la sémantique de base impliquerait l'exécution de la requête ajax en combinaison avec un timer setInterval() pour déclencher la requête ajax. cela pourrait se faire en jQuery le long des lignes de:

$(document).ready(function() { 
    // run the initial request 
    GetFreshInfo(); 
    // set the query to run every 15 seconds 
    setInterval(GetFreshInfo, 1500); 
}); 

function GetFreshInfo(){ 
    // do the ajax get call here (could be a .net or php page etc) 
    $.get('mypageinfostuff.php', null, function(data){$('#myDivToUpdate').html(data);}); 
} 

qui est la prémisse de base ... i.e. la page Web est chargée par GetFreshInfo() d'abord tout de suite, il est requeried toutes les 15 secondes. vous pouvez ajouter logoc pour actualiser le div seulement s'il y a de nouvelles données, plutôt que de toujours mettre à jour la page. comme il est ajax, la page ne sera pas geler et le processus sera presque invisible à l'utilisateur (sauf si vous souhaitez marquer les changements de quelque manière)

Hope this helps

jim

+0

Découvrez les websockets HTML5 –

+0

tom -will. Nous avons un peu d'attente à beaucoup de nos sites car certains peeps sont encore sur IE6 - incroyable !! –

+0

tom - j'ai remarqué celui-ci qui peut surmonter les limites de html5 en utilisant flash pour héberger js style piggy-back: http://github.com/gimite/web-socket-js –