Pregunta

Me puede alguien a punto de un código de ejemplo sobre la mejor manera para hacer el almacenamiento en caché durante la carga hasta las partes dinámicas de una página usando javascript?

Mi ejemplo canónico implica una página donde nunca cambia nada que no sea el usuario ha iniciado sesión en el estado y nombre de usuario en la parte superior de la página. El cambio de este texto a través de jQuery y una petición AJAX es bastante fácil, pero ya lo estoy haciendo en $(document).ready(), si se mira de forma rápida, se puede ver la carga de la página con algo como "Haga clic aquí para entrar" antes de los disparos petición Ajax y actualizaciones esa sección de la página.

Editar de aclaración :

Si cacheamos toda la página, ocurre lo siguiente.

  1. Un usuario solicita la página
  2. Página no es almacenado en caché , por lo que la aplicación genera html con "Usuario Hola A" en la esquina superior derecha
  3. El usuario B solicita la página
  4. Página se almacena en caché , por lo que la aplicación sirve que nosotros como-es - incluyendo el "Hola Usuario A" bits <-. Esta es la parte que quiero actualizar dinámicamente

Lo ideal sería que, en el paso 2, la página conseguiría cache sin el bit de "Usuario Hola A", de modo que cuando alguien solicita la página, hago una petición ajax sencilla para obtener el saludo y luego lo empuja en el DOM.

Asumo Javascript es el camino a seguir, pero estoy pensando que tiene que haber una manera mejor que esperar a que $(document).ready() tal manera que la página se representa de forma más natural.

Si es importante (aunque no creo que debería, como una solución que se aplica a la electricidad estática html también funcionaría para lo que estoy haciendo), estoy usando los carriles 2.3.x y jQuery.

¿Fue útil?

Solución 2

Aha! Hay una Railscast que hace exactamente lo que quiero!

Rieles-y la bondad se puede encontrar aquí: http://railscasts.com/episodes / 169-dinámico-página-caching

Otros consejos

Me cargaría el estado del usuario inicialmente en la página principal en el servidor, utilizando la misma cosa que genera la respuesta AJAX. Luego, cuando el usuario cambia el estado, actualizarse usando AJAX del lado del cliente.

De esta manera, la página inicial tiene el estado correcto, pero todavía puede cambiar cuando el usuario realiza una acción.

pretender que el getStatus() método genera el código HTML correcto para cualquier estado se encuentra el usuario. En la página, me gustaría tener un <div> que contiene esta información. Del lado del servidor, getStatus() llamada (utilizando PHP para fines de ejemplo):

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

Después haga que su solicitud de devolución AJAX getStatus() y actualizar los contenidos <div id="status">.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top