21/08/2011, 18:26
|
| | Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 9 meses Puntos: 4 | |
Respuesta: Ir al final de página sin utilizar "anclaje" Vale! Creo que ya lo tengo... Os cuento por si os puede servir de utilidad:
la página referenciada mediante el include ( para el ejemplo de <? include('./comentarios.php'); ?> me refiero la página comentarios.php ) pues "comentarios.php" contiene un fragmento AJAX. Este AJAX recarga "comentarios.php" nada más entrar. Y recarga paginando a la última página. Bueno, el tema está que existe ese AJAX. Y se ejecuta. Un AJAX que se ejecutaba de modo ASINCRONO. Algo del estilo:
$.ajax({
type: "GET",
url: "./comentarios.php?&p_pag="+p_nropagina,
async: true,
success: function(datos){ divContenido.innerHTML = datos; }
});
Esto lo que hacía era cargar nuevamente "comentarios.php" en "divContenido" ( divContenido no es más que el div principal que contenía la sección de comentarios ). Pero claro, como estaba definido como ASINCRONO, el servidor no esperaba a que terminase la ejecución o la petición propia de AJAX. Y, por lo tanto, entraba en conflicto: Por un lado enviaba a la web al final, pero por otro el AJAX todavía no había finalizado su ejecucón. En cambio, he cambiado el modo a AJAx, ahora lo ejecuto de modo SÍNCRONO ( la definición sería la misma pero con async: false ). Qué pasa ahora? Que el script ( página principal ) espera a que el código AJAX termine. Entonces, como ya ha terminado la ejecución del AJAX, no hay conflicto con el ancla. Pues todo el código dependiente del "include" ha sido ejecutado... Vaya, o eso creo ;P
Muchas gracias a todos! |