Synchronisation JS temps entre plusieurs appareils

Je suis en utilisant le merveilleux reveal.js bibliothèque pour créer un diaporama HTML. Mon seul problème est que j'ai besoin de les synchroniser sur plusieurs appareils.

Pour le moment, je fais une requête AJAX au moment à partir du serveur et de garder une horloge interne pour la page.

function syncTime() {
    //Set up our time object, synced by the HTTP DATE header
    //Fetch the page over JS to get just the headers
    console.log("syncing time")
    var r = new XMLHttpRequest();
    r.open('HEAD', document.location, false);
    r.send(null);
    var timestring = r.getResponseHeader("DATE");

    systemtime = new Date(timestring); //Set the time to the date sent from the server
}

Bien que cela me met dans 1 secondes de précision, j'ai besoin de faire mieux. La différence est vraiment notable lorsque le diaporama est auto avancer.

Le code va être l'exécution de tous sur la même plate-forme, de sorte que la compatibilité inter-navigateur n'est rien à s'inquiéter.

Voici ce que j'ai réussi à mettre ensemble

Des idées?

InformationsquelleAutor Josh Hunt | 2012-05-14