Session Meteor et mise à jour du navigateur

Est-ce que les sessions de Météores sont réinitialisées lorsqu'un rafraîchissement de page est en cours?

Pour une raison quelconque, je ne pensais pas qu'ils l'ont fait, mais il semble qu'ils le font. Existe-t-il un moyen de les persévérer?

Sinon, quelle serait la meilleure solution pour cela?

Je souhaite que les mêmes données montrent si un utilisateur actualise (ces données sont spécifiques à l'utilisateur), même si elles ne sont pas encore enregistrées.

En fait, vous pouvez créer une "sous-classe" de Session qui stocke la valeur dans le magasin Amplify lorsque set () est appelé. Vous hériteriez automatiquement de toutes les propriétés réactives de Session. Voici le code, cela a fonctionné pour moi:

SessionAmplify = _.extend({}, Session, { keys: _.object(_.map(amplify.store(), function(value, key) { return [key, JSON.stringify(value)] })), set: function (key, value) { Session.set.apply(this, arguments); amplify.store(key, value); }, }); 

Remplacez tout votre Session.set / get calls avec SessionAmplify.set / get calls. Lorsque set () est appelé, la méthode de session parent est appelée, ainsi que amplify.store (). Lorsque la "sous-classe" est créée pour la première fois, elle charge tout ce qui se trouve dans le magasin d'amplification à l'intérieur de ses clés, afin de pouvoir les récupérer immédiatement avec get ().

Vous pouvez tester une variation de travail de l'exemple Leaderboard ici: https://github.com/sebastienbarre/meteor -leaderboard

C'est une vieille question, mais c'est le deuxième coup sur une recherche de «gestionnaire de session de météorite», donc je pense qu'il est important d'ajouter que le paquet u2622: persistant-session résout parfaitement ce problème.

Des documents à: https://atmospherejs.com/u2622/persistent-session

Installation

Météore ajouter u2622: session persistante

C'est tout! Maintenant, vous pouvez utiliser Session.setPersistent pour définir une variable de session qui sauvegarde après une actualisation.

Si vous le souhaitez, vous pouvez avoir Session.set faire cela aussi. Voir la section Options ci-dessous.

Je viens de créer le package UserSession pour Atmosphere, qui est essentiellement une Session persistante basée sur l'utilisateur.

Je pense donc que la meilleure façon de le faire est d'utiliser le paquet amplifyJS.

Voici quelques chiffres qui montrent comment ils l'ont utilisé: https://gist.github.com/2865146

La Session est un magasin de valeurs clés mondiales, réactif.

http://docs.meteor.com/#session

Session fournit un objet global sur le client que vous pouvez utiliser pour stocker un ensemble arbitraire de paires clé-valeur. Utilisez-le pour stocker des choses comme l'élément actuellement sélectionné dans une liste.

Ce qui est spécial sur Session, c'est qu'il est réactif. Si vous appelez Session.get ("currentList") à partir d'un modèle, le modèle sera automatiquement redirigé chaque fois que Session.set ("currentList", x) est appelé.

Si vous devez persister quelque chose dans le client, vous pouvez utiliser les localstorage ou les cookies si vous vous occupez de navigateurs plus anciens.