2010-01-29 5 views
2

J'ai une application web d'une page donc il n'y a pas de rafraîchissement de page. Parfois, je laisse la page ouverte pendant la nuit et je reviens dans la matinée et recommence à interagir avec elle. Habituellement, je trouve que je dois rafraîchir. Javascript fonctionne mal - edit-in-place charge des données bizarres, les appels ajax ne se déclenchent pas ... Cela n'a rien à voir avec le backend, il semble que ce soit le navigateur qui vide sa mémoire, ou quelque chose comme ça. Il n'y a pas de sessions en cause.Garder une page web ajax en état de fonctionnement après des heures d'inactivité

Comment le calendrier Google reste-t-il ouvert pendant 3 jours et déclenche-t-il toujours des alertes d'événement?

J'ai un appel 'keep alive' qui se déclenche toutes les 5 secondes, dans le but de garder le navigateur sur ses orteils, mais cela n'a pas aidé. C'est quoi le truc? Y at-il un moyen de dire au navigateur de garder tout en mémoire pour toujours?

(je suis sûr que cette question est abordée dans de nombreux endroits sur le web, mais je ne peux pas comprendre ce qu'il faut rechercher.)

+0

> * javascript ne fonctionne pas correctement * Comme c'est lent que vous voulez dire? Pourrait être fuite de mémoire .... –

+0

Si c'est ASP.NET AJAX il arrive parce que le code est poubelle. Nous avons une page que si vous la laissez ouverte, elle continuera de fuir jusqu'à ce qu'elle plante votre système. (8 heures peut-être?) – ChaosPandion

Répondre

0

Lorsque vous actualisez la page vous devez faire une authentification en raison de une session expirée ou quoi que ce soit? Parce que si tout ce que vous devez faire est de cliquer sur F5 et que vous êtes prêt, je vous suggère de créer une minuterie «inactive» dans votre application qui fait un window.reload() toutes les heures s'il n'y a pas d'interaction (IOW reset cette temporisation chaque fois qu'il ya une interaction)

Hope this helps

+0

Oups, j'aurais dû préciser qu'il n'y a pas de session en cause. Modification Le rechargement est une bonne idée. Comment Google Agenda reste-t-il actif? – Corey

+0

J'ai ajouté un 'si aucune activité pour 20 minutes, window.location.replace ...' qui fonctionne très bien, et n'ajoute pas à l'historique du navigateur. – Corey

+0

Content de savoir que ça a aidé! Vous pourriez poster le code pour montrer que vous l'avez atteint en tant que réponse ici pour en faire bénéficier d'autres qui voudraient le faire aussi. – SBUJOLD

1

choses possibles à regarder:

  • test sur deux différents navigateurs pour voir si elles ont le même problème.
    • Si c'est le cas, c'est presque 100% de quelque chose dans votre code.
    • Sinon, c'est probablement quelque chose avec votre navigateur actuel et peut-être une certaine interaction avec une partie de votre code.
  • Cela semble trivial, mais beaucoup de gens regardent cela en javascript, mais assurez-vous de supprimer/libérer tout ce que vous allouez avec du nouveau.
  • Si vous utilisez des bibliothèques tierces, envisagez de les mettre à jour ou de consulter leurs forums.

Bonne chance!

Questions connexes