Question

point que quelqu'un peut me quelques exemples de code sur la meilleure façon de faire la mise en cache pendant le chargement les pièces dynamiques d'une page en utilisant javascript?

Mon exemple canonique implique une page où rien ne change autre que l'utilisateur est connecté à l'état et le nom d'utilisateur en haut de la page. La modification de ce texte par jQuery et une demande de paiement ajax est assez facile, mais comme je le fais sur $(document).ready(), si vous regardez rapidement, vous pouvez voir la charge avec quelque chose comme « Cliquez ici pour accéder » avant que les feux de demande ajax et mises à jour cette section de la page.

Modifier des éclaircissements :

Si je cache la page entière, ce qui suit arrive.

  1. L'utilisateur A demande la page
  2. Page n'est pas mises en cache , si l'application génère du HTML avec "Salut l'utilisateur A" dans le coin supérieur droit
  3. L'utilisateur B demande la page
  4. Page mise en mémoire cache , donc application, il nous sert-est - y compris le « Salut l'utilisateur » bit <-. Ceci est la partie que je veux mettre à jour de façon dynamique

Idéalement, à l'étape 2, la page ne se cache sans le bit « Salut l'utilisateur A », de sorte que lorsque quelqu'un demande la page, je fais simple demande ajax pour obtenir le message d'accueil, puis le pousser dans le dom.

Je suppose javascript est le chemin à parcourir, mais je pense qu'il doit y avoir une meilleure façon que d'attendre $(document).ready() telle que la page rend plus naturellement.

S'il importe (bien que je ne pense pas qu'il devrait, comme une solution applicable à html statique fonctionne également pour ce que je fais), j'utilise des rails 2.3.x et jQuery.

Était-ce utile?

La solution 2

Aha! Il y a une Railscast qui fait exactement ce que je veux!

bonté Rails-y sont disponibles ici: http://railscasts.com/episodes / 169-page dynamique mise en cache

Autres conseils

Je charge le statut de l'utilisateur d'abord dans la page principale sur le serveur, en utilisant la même chose qui génère la réponse AJAX. Ensuite, lorsque l'utilisateur modifie l'état, le mettre à jour à l'aide côté client AJAX.

De cette façon, la première page a l'état correct mais peut encore changer lorsque l'utilisateur effectue une action.

Faire semblant la méthode getStatus() génère le bon code HTML pour quelque état que l'utilisateur est. Sur la page, j'aurais un <div> qui contient ces informations. Côté serveur, appel getStatus() (en utilisant PHP à titre d'exemple):

<div id="status"><?php =getStatus() ?></div>

Alors que votre demande AJAX retour getStatus() et mettre à jour le contenu de <div id="status">.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top