Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

Estas en el tema de Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes en el foro de Frameworks JS en Foros del Web. Hola Soy nuevo en el foro y me estoy iniciando con Ajax y Prototype. Por simplificar: tengo dos páginas: pag1.html (que está en la carpeta ...
  #1 (permalink)  
Antiguo 20/10/2008, 17:11
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

Hola
Soy nuevo en el foro y me estoy iniciando con Ajax y Prototype.

Por simplificar: tengo dos páginas:
pag1.html (que está en la carpeta c1)
pag2.html (que está en la carpeta c1/c2)

En pag1.html tengo un botón que sirve para cargar en un DIV el contenido de pag2.html.
Esto lo hago perfectamente con prototype y la función Ajax.updater.

En pag2.html hay una imagen que también está en c2, y en ella simplemente pone src="imagen.jpg".

El problema está en que cuando pag2.html se carga con Ajax en el DIV de pag1.html, no se ve la imagen porque intenta buscarla en su propia carpeta, es decir, en c1 (y está en c1/c2). Todo funcionaría si ahora pusiera src="c2/imagen.jpg"

Espero haberme explicado bien.
¿Alguien puede decirme cómo actualizar las imágenes para que se vean?
O bien, ¿cómo hago para actualizar el src de la imagen?
  #2 (permalink)  
Antiguo 20/10/2008, 22:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

Hola coparu67,

Lo mejor es que uses rutas absolutas a tus imagenes, así te evitas los problemas con las rutas al usar su ruta absoluta desde el web root.

Por ejemplo así:
Código html:
Ver original
  1. <img src="/c2/imagen.jpg" border="0" />

Saludos.
  #3 (permalink)  
Antiguo 21/10/2008, 00:04
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

No me sirve, porque entonces al abrir directamente pag2.html no aparecería la imagen.
Se supone que pag2.htm lo va a hacer una segunda persona. Yo puedo conocer la ruta hasta esa página, y lo que me gustaría es cambiar dinámicamente los src de todas las imágenes con la ruta que se ve desde pag1.html, pero antes de que aparezca en el DIV

De todas formas gracias por responder, esperaré a ver si aparece otra sugerencia.
Lo que me extraña es que no haya en prototype algo automático para hacer esto.

Cita:
Iniciado por GatorV Ver Mensaje
Hola coparu67,

Lo mejor es que uses rutas absolutas a tus imagenes, así te evitas los problemas con las rutas al usar su ruta absoluta desde el web root.

Por ejemplo así:
Código html:
Ver original
  1. <img src="/c2/imagen.jpg" border="0" />

Saludos.
  #4 (permalink)  
Antiguo 21/10/2008, 08:05
 
Fecha de Ingreso: noviembre-2004
Mensajes: 117
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

Lo que te han contestado es acertado.

Ten en cuenta que cuando realizas una peticion desde Ajax.Updater te traes "contenido" (html, javascript, json) que no se va a "evaluar" hasta que no se recargue en c1, es decir: es como si c2 (por muy escondido que lo pongas) terminase siendo includes de c1, al menos los trozos que te traes.

Es sencillo de entender. Cuando tu haces una petición por Ajax.Updater tu te traes un contenido de c2 a c1 e independientemente de donde esté el contenido debe de ser "compatible" llamemosle así para que encuentre la ruta correcta de tus imagenes puesto que tu estás en c1 y no en c2 (fijate la url de direccion) y lo que te traes es contenido, da igual que tenga tags que no las tenga, es solo contenido que visualizarás en el recurso que estas recargando en c1.

Como añadido, si tu invocas una imagen dentro de ese texto como src="imagen.jpg", no le estas garantizando un lugar fisico por lo que el sitio donde va a a buscar es en la ruta en la que estas en ese momento (c1) es decir, lo que quieres que haga Prototype automático no tiene sentido.

Para trabajar como quieres tienes que estudiar primero el problema antes de plantear la estructura de c1 (y de c2), para que no te ocurran estas cosas a mitad de proyecto, si piensas un poco verás que no es dificil de solucionar, y por supuesto pasa por utilizar rutas absolutas (en tu caso creo que necesitas que se pueda peticionar los trozos de html desde c1 y c2 si mal no entendí)

La verdad no me parece correcto, me da la sensacion que metes todo un html dentro de un div y eso no es válido.

http://www.librosweb.es
__________________
Saludos a todos ;)

Fiat en Malaga
.. y ahora con CSS!
  #5 (permalink)  
Antiguo 21/10/2008, 11:50
 
Fecha de Ingreso: octubre-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

Te explico esa estructura.
Voy a trabajar con muchos compañeros.
Cada uno diseñará una página web sencilla con texto y varias fotos (pag2.html, pag3.html, ...), pero en su propio ordenador. Cada uno usará una sola carpeta.

Yo pondré cada página en una carpeta distinta (c2, c3, ...).
Y cada una de esas páginas podré verlas desde la página principal (pag1.html) usando menús.

Lo que realmente me haría falta sería, tras traerme con prototype las páginas secundarias, actualizarles sus "img src" añadiéndoles "c2/" o "c3/" o algo así.
(O igual hay alguna opción de prototype en la que al traerme la página le puedo actualizar directamente sus rutas).

Sería algo así como:
/*menu 2*/
var oRequest = new Ajax.Updater('mydiv', 'c2/pag2.html', {method:'get', parameters:''} );
update_img...('mydiv', 'src=', 'src=c2/')

/*For menu 3*/
var oRequest = new Ajax.Updater('mydiv', 'c3/pag3.html', {method:'get', arameters:''} );
update_img...('mydiv', 'src=', 'src=c3/')
  #6 (permalink)  
Antiguo 21/10/2008, 15:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Al cargar en un DIV otra pág de otra carpeta, no veo las imágenes

Hola coparu67,

Prototype no dispone de una utileria así pero Javascript si tiene una utileria y es el objeto RegExp, aquí encuentras más información: http://www.regular-expressions.info/javascript.html

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:35.