Dans mon application Web, j'ai une barre de statut pour mes utilisateurs où le nombre de nouveaux messages, etc. est affiché. J'utilise Ajax.PeriodicalUpdater
pour rafraîchir toutes les 60 secondes. Mais le PeriodicalUpdater
fait la première extraction à l'initialisation quand il n'y a pas besoin car les données sont fraîches au chargement de la page.Démarrage différé de Ajax.PeriodicalUpdater
Alors, quelle est votre meilleure pratique pour démarrer le programme de mise à jour 60 secondes après le chargement de la page?
J'utilise un window.setTimeout
pour appeler une fonction qui lance le programme de mise à jour, mais y a-t-il quelque chose de mieux?
function statusbarUpdate(){
new Ajax.PeriodicalUpdater({
success: 'statusbar'
}, '/status', {
method: 'get',
frequency: 60,
decay: 1
});
}
window.setTimeout("statusbarUpdate()", 1000 * 60)
Merci deux fois: pour la source où je peux voir que ([ligne 220] https://github.com/sstephenson /prototype/blob/1fb9728/src/ajax/periodical_updater.js#L220) est ce qui m'agace: 'this.start()' qui lance l'appel immédiatement et pour ['delay()'] (http: // www .prototypejs.org/api/function/delay) méthode, qui était nouveau pour moi :-) – arnep
En regardant à nouveau la source et je me rends compte qu'il n'y a pas beaucoup de code là-bas, vous pouvez faire une copie et l'altérer de sorte qu'il doesn ' t commencer tout de suite. – clockworkgeek
ce serait une option, mais j'ai dû maintenir ce code sur chaque mise à jour du prototype (bien que je pense qu'il n'y aura pas beaucoup de changement dans cette fonction). – arnep