J'ai un badge "nouveaux articles" sur une page que je veux mettre à jour immédiatement la page est chargée à partir du cache (c'est-à-dire lorsque vous appuyez sur "Retour" ou "Suivant" pour retourner à cette page). Quelle est la meilleure façon d'y parvenir?Ma page est-elle chargée à partir du cache du navigateur?
La configuration est assez simple. La mise en page de l'application recherche de nouveaux éléments toutes les 8 secondes et met à jour le badge + la liste des éléments en conséquence.
$(function() {
setInterval(App.pollForNewItems, 8000);
});
Lorsque quelqu'un quitte cette page pour regarder les détails d'un article, beaucoup de choses peuvent se produire. Les choses sont "nouvelles" jusqu'à ce qu'un utilisateur les ait vues, et l'application aura probablement plusieurs utilisateurs qui l'utilisent simultanément (le type de flux de travail utilisé pour un centre d'appels ou des tickets de support).
Pour vous assurer que les badges sont toujours à jour, j'ai:
$(window).bind('focus load', function (event) {
App.pollForNewItems();
});
..Et si cela fonctionne, le scrutin pour les nouveaux éléments sur la « charge » est utile uniquement si la page est chargée de le cache. Existe-t-il un moyen fiable de savoir si une page est chargée à partir du cache?
Je ne dépend pas du serveur et le client à être synchronisés particulièrement bien:/ – Matchu
Le problème avec cela est que vous êtes en supposant la synchronisation des horloges. L'heure dans JS est déterminée par l'heure de l'ordinateur local, qui peut différer considérablement de l'heure du serveur. – Yahel
Bon point, je vais mettre à jour pour utiliser UTC. – jball