2012-02-27 3 views
5

Lo siento si esta es una pregunta para novatos, pero realmente no sé qué buscar tampoco. ¿Cómo se mantiene el contenido de una página anterior cuando se navega por un sitio web? Por ejemplo, la barra de actividad/chat del lado derecho en Facebook. No parece actualizar cuando va a diferentes perfiles; no es un iframe y no parece ser ajax (podría estar equivocado).¿Cómo se puede mantener el contenido de su página web anterior después de hacer clic en un enlace?

Gracias,

Respuesta

2

En el caso de una charla como Facebook, debe guardar toda la conversación en el lado del servidor (por ejemplo, en una base de datos). Luego, cuando el usuario cambie la página, puede restaurar el estado de la conversación en el lado del servidor (con PHP) o consultando su servidor como lo hace para el chat (Javascript + AJAX).

0

Esto no se hace en Javascript. Debe hacerse usando su lenguaje de scripting de back-end.

En PHP, por ejemplo, usa Sessions. Las variables establecidas por las secuencias de comandos del lado del servidor se pueden mantener en el servidor y unirlas (entre varias solicitudes/visitas) usando una cookie.

+1

Creo que está preguntando cómo la parte lateral permanece puesta durante la navegación de la página, como si fuera un marco separado. La respuesta que está buscando probablemente implique [manipular el historial del navegador] (https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history). –

0

Un truco realmente útil es ejecutar HTTPFox en Firefox para que pueda controlar realmente lo que está sucediendo mientras navega de una página a la siguiente. Puede consultar las pestañas POST/Cookies/Response y observar para qué métodos web están siendo llamados por los comportamientos similares a AJAX en la página. Al hacerlo, generalmente puede deducir cómo fluyen los datos hacia y desde las páginas, aunque no tenga acceso al código del lado del servidor per se.

En cuanto a la respuesta a su pregunta específica, hay demasiadas aproximaciones a la lista (galletas, la persistencia del lado del servidor, tales como la base de datos de sesión o escribe, un simple formulario POST, VIEWSTATE en .net, etc ..)

-3

Puede abrir su última página web cerrada presionando ctrl + shift + T. Ahora puedes guardar contenido como quieras. Ejemplo: si cerré una página web relacionada por document sharing y ahora estoy en la página web de viajes. Luego presiono ctrl + shift + T. Ahora se abrirá automáticamente mi última página web. Esta función funciona en Mozilla, e explorer, opera y más. Espero que esta respuesta sea útil para ti.

+2

Creo que esto no es lo que el usuario estaba pidiendo. – Purag

3

Creo que lo que está viendo en Facebook no es "cargas de página" reales, sino el uso inteligente de AJAX o AHAH.

Entonces ... imagine que tiene una página web. Contiene enlaces. Cada uno de esos enlaces tiene un "gancho": un fragmento de JavaScript que se ejecuta cuando se hace clic en el enlace.

Si su navegador no es compatible con JavaScript, el enlace funciona como lo haría normalmente en una página pasada de moda y carga otra página.

Pero si JavaScript está activado, en lugar de navegar a un HREF, el código ejecutado por el gancho hace que se coloque una solicitud en una URL diferente que escupe solo el HTML que se debe usar para reemplazar un DIV que es ya mostrando en algún lugar de la página.

Todavía hay un enlace real en el código HTML en caso de que JS no funcione, por lo que el código HTML que está viendo se ve como debería. Pruebe a deshabilitar JavaScript en su navegador y vea cómo funciona Facebook.

Las actualizaciones en vivo como este están por todas partes en aplicaciones Web 2.0, desde Facebook a Google Docs a Workflowy a Basecamp, etc. Las "mejores" herramientas proporcionan los enlaces HTML subyacentes donde sea posible para que los usuarios sin JavaScript puedan obtener uso completo de las aplicaciones.(Esto se llama Progressive Enhancement or Graceful degradation, dependiendo de su punto de vista). Por supuesto, nadie esperaría que Google Docs funcionara sin JavaScript.

+0

Ohhh, ya, A eso se refería con esta pregunta. – Graham

+0

+1 para AHAH, no sabía que así se llamaba. Yo lol'd. Gracias, pez. –

Cuestiones relacionadas