Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2011, 11:52
lemmy2011
 
Fecha de Ingreso: febrero-2011
Mensajes: 156
Antigüedad: 13 años, 2 meses
Puntos: 4
Ir al final de página sin utilizar "anclaje"

Hola a todos. A ver si consigo explicarme. He montado un blog mediante PHP. Después del artículo, se permiten agregar opiniones. La estructura afectada por mi consulta sería:

<div1>
Contiene el artículo
Posibilidad de incluir comentarios
</div>

<div2><? include('./comentarios.php'); ?></div>

<a href="fin_comen"></a>

Por partes:
<div1> Bueno esto muestra el articulo y un textarea donde añadir comentarios.
<div2> Muestra los comentarios. Lo hago mediante un "include". Así, la aginacion es independiente de la web principal. Es decir, el hecho de paginar, sólo refresca el contenido de <div2> o lo que es lo mismo, los comentarios.

<a href="fin_comen"></a> Lo utilizo como anclaje. Os cuento, al incluir un nuevo comentario, éste se graba e invoco nuevamente la páginal principal. Los comentariso se muestran por orden de llegada. Por lo tanto, el nuevo comentario se vería el último.

¿Cuál es el problema? Al cargar la página, detecto si se acaba de incluir un nuevo comentario. Si es así, hago: window.location.href = "#fin_comen"; De esta manera debería ir al final de la página ( mostrando así el último comentario ). Pero esto hay navegadores que no me lo están aceptando. Y he visto el motivo. Como el ancla está después de "include", al hacer el window.location.href = "#fin_comen"; por lo visto, todavía no ha terminado de cargarse totalmente el contenido del <div2> y parece que no sabe ubicarse en el anclaje. Lo he probado sin el include y va perfectamente. Pero al incluirlo no me va al final. Se queda justo cuando empieza el <div2> Ah! el window.location.href = "#fin_comen"; lo he colocado también en el onload a nivel de <body> y nada.

Alguien sabría cómo poder solucionar este problema? O, siendo brutos, sabéis si hay alguna manera de forzar que se muestre el contenido del final de la página sin emplear anclajes?

Gracias por vuestro tiempo.