Pregunta

Ejecuto un juego basado en navegador en www.darknovagames.com. Recientemente, he estado trabajando en reformatear el sitio con CSS, intentando que todas las páginas se verifiquen de acuerdo con el estándar HTML.

He estado jugando con esta idea de tener el menú de navegación en el AJAX izquierdo en las páginas (en lugar de llevar al usuario a una página diferente cada vez, lo que requiere una recarga del título y la barra de navegación, que casi nunca cambian ) y sé que si lo hago, probablemente romperé los botones de avance / retroceso en el navegador. Supongo que mi pregunta es, ¿debo seguir adelante y AJAX en el sitio, por lo que debo exigir al usuario que use la navegación de los sitios para jugar, o debo dejar el sitio tal como está actualmente, y usar hipervínculos estándar y elementos para la navegación?

La razón por la que pregunto, supongo, es que construí un sistema de foros en el sitio, y muchas veces me gustaría vincularlo con un tema en particular dentro de los foros.

También estoy abierto a sugerencias. ¿Existe una forma estándar (preferiblemente sin marcos tradicionales) de hacer que solo se recargue el área del cuerpo del sitio, al mismo tiempo que se cambia la URL para que los usuarios puedan marcar y reenviar / retroceder, etc.? Potencialmente, eso también podría resolver mi problema. Solo estoy pidiendo la mejor solución aquí, no una respuesta a una pregunta específica. ^ _ ^

Gracias

¿Fue útil?

Solución

Si va a habilitar AJAX, no lo haga a expensas de tener URL accesibles a todas las páginas importantes de su sitio. Esta es la columna vertebral de un sitio navegable que la gente puede usar.

Cuando incorpora toda su funcionalidad a las llamadas y devoluciones de llamada de AJAX, básicamente está obligando a sus usuarios a una única ruta para acceder a las funciones y el contenido que desean, lo que está totalmente en contra de cómo debe funcionar la web. La gente confía en la barra de direcciones y el botón Atrás. Si reemplaza todos sus enlaces para que su sitio sea esencialmente una página única que solo se actualice a través de AJAX, está limitando la capacidad de los usuarios para navegar por su sitio y encontrar lo que necesitan. También impide que sus usuarios puedan compartir lo que encuentran (lo cual, eso es parte del punto, ¿verdad?).

Piense en el mapa mental de un usuario de su sitio. Si saben que ingresaron a través de la página de inicio, luego fueron a buscar algo, luego aterrizaron en una página de juegos, luego comenzaron a jugar un juego en particular, son cuatro unidades de acción distintas que el usuario tomó. Es posible que hayan realizado algunas otras acciones más pequeñas e insignificantes en cada una de estas páginas, pero estas son las unidades principales. Cuando hacen clic en el botón Atrás, deben esperar volver por el camino en el que se encontraron. Si está cargando todas estas páginas a través de llamadas AJAX, está proporcionando un sitio cuya funcionalidad es contraria a lo que espera el usuario.

Divida su sitio en todas las funciones importantes (es decir, búsqueda, inicio, perfiles, juegos; dependerá de qué se trate su sitio). En cualquier lugar que enlace a estas páginas, hágalo a través de un enlace regular y una URL estática.

AJAX está bien. Pero el arte de esto es saber cuándo usarlo y cuándo no hacerlo. Si sigue el modelo que he esbozado anteriormente, sus usuarios lo apreciarán.

Otros consejos

Use ajax para partes de la página que necesita actualizar, no todo. Para eso debes usar plantillas.

Cuando aún desee conservar el botón de retroceso para sus diversos cambios de estado en la página, combínelos con # achors para alterar la URL (sin obligar al navegador a emitir otro GET).

Por ejemplo, gmail se ve así:

mail.google.com/#inbox/message-1234

todo lo que pasó del # fue un cambio de estado de página que ocurrió a través de ajax. Si presiono Atrás, volveré a la bandeja de entrada nuevamente (nuevamente, sin otro navegador GET)

Consulte reallysimplehistory . La wiki no se ha actualizado durante 10 meses, pero estaba en Ajax Experience 2008 y vi un presentación de Brian Dillard en ella. Él dice que el código 0.8 está en su disco duro. Con suerte, se podrá descargar pronto.

Otra solución:

AJAX Pagination & amp; Botón de retroceso

Este parece ser el mejor, funciona con JQuery & amp; Mootools.

Hay muchas maneras de resolver este problema utilizando técnicas de Javascript originales, que a menudo involucran iframes, pero creo que en esta situación debe preguntarse por qué está usando AJAX. ¿Realmente hará que el sitio sea más fácil de usar para el usuario? Me parece que lo estás usando porque crees que es genial (lo que en sí mismo no siempre es malo) no porque realmente agregará algún valor a tus visitantes. Desde cualquier sitio web normal, los documentos con hipervínculos normales son casi siempre lo correcto para la navegación principal. Es lo que la gente espera y no recomendaría que rompas esas expectativas en base a una tecnología sofisticada.

AJAX es increíble y te permite hacer muchas cosas geniales, cambiar la navegación de un sitio web no es una de ellas.

¡Bien hecho para resolver este problema, sin embargo, hay muchos sitios que simplemente siguen adelante con AJAX y ni siquiera piensan en esto!

Prueba este sencillo & amp; ligero PathJS lib. Permite vincular a los oyentes directamente a los anclajes.

Ejemplo:

Path.map("#/page").to(function(){
    alert('page!');
});

AJAX no es la mejor solución para la navegación exactamente por la razón que usted describe. El impacto para volver a cargar el encabezado y la barra de navegación es mínimo en comparación con la molestia de romper la interfaz de usuario de navegación del navegador.

Un ejemplo más apropiado de AJAX sería permitir a los usuarios jugar el juego en la ventana principal mientras pueden navegar por una lista de otro contenido en un panel de navegación. Puede cargar elementos adicionales en el panel de navegación a través de AJAX sin alterar la jugabilidad.

Me quedaría con hipervínculos simples. Los muebles de tu página no deben tener en cuenta una gran parte del HTML, por lo que no es una gran ganancia excluyéndolo de las solicitudes de página. Hacer que cada recurso sea direccionable (es decir, una URL para cada bit de contenido que pueda interesar al usuario) es una característica clave del diseño de la web. Significa que el almacenamiento en caché puede funcionar, y significa que los usuarios pueden compartir marcadores. Hace que Google funcione, así como los sitios de marcadores sociales.

Suprimir un par de bytes HTML de los cambios de página posteriores no merece la pena, en mi opinión.

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