Ver Mensaje Individual
  #11 (permalink)  
Antiguo 17/10/2008, 04:14
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problemon con efectos impresionantes.

El problema es bastante simple.

Lo que ocurre es lo siguiente:

1. Se carga p2.php
2. Carga litebox.js. Al cargar, ejecuta la función initLytebox()
3. Esa función lo que hace es buscar en toda la página los enlaces que van con el atributo ese y añadirles el efecto.
4. Pulsas el enlace que carga demo.htm a través de XHR.
5. Cuando se recibe demo.htm se vuelca en el div content, pero NO se ejecuta otra vez el Litebox (esto es normal, no es que esté fallando nada).

Así que a los nuevos enlaces no se les ha añadido el efecto, porque la forma de funcionar no es que esté contínuamente comprobando si debe abrir un litebox o no, es ejecutarse una vez al cargar la página. No es que algo no funcione o que se joda. Es que es así.



Sé que en demo.htm tienes incluído otra vez el litebox.js pero eso no sirve de nada. Cuando cargas una página con XHR sólo se carga la página, no se cargan los javascripts, hojas de estilos, imagenes, etc que tenga asociados. De hecho ni siquiera se ejecuta el Javascript que lleve dentro de <script></script>.

Soluciones? Busca en el foro, que ya se ha hablado bastantes veces de "como ejecuto el javascript que viene en una página que cargo con AJAX?".
O prueba a cargar todos los enlaces de imágenes de una vez. O prueba a ejecutar el initLytebox() cada vez que recibas la respuesta en tu llamarasincrono.