Foros del Web » Programando para Internet » Javascript »

Aplicar valor de una variable al src de un iframe

Estas en el tema de Aplicar valor de una variable al src de un iframe en el foro de Javascript en Foros del Web. Hola, ando liado con un tema,que esta en este post que es poder abrir una pagina con iframes cambiando la pagina por defecto a otra. ...
  #1 (permalink)  
Antiguo 04/03/2007, 11:10
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
Aplicar valor de una variable al src de un iframe

Hola, ando liado con un tema,que esta en este post que es poder abrir una pagina con iframes cambiando la pagina por defecto a otra.
pero lo tengo a punto o eso creo y solo necesito saber como hacer lo siguiente:

imaginaros que la variable A es igual a pagina2.html

como hago para aplicarle el valor de A al src de un iframe.

este seria el normal:
Código:
<iframe src="pagina.html" name="parte" frameborder="0" marginwidth="0" marginheight="0" AllowTransparency></iframe>
he probado, con estilos y poniendo "var a" como src pero no va.
me imagino que sera facil pero soy un poco nulo
saludos y gracias

Última edición por farve; 04/03/2007 a las 18:23 Razón: poner bien la url del post
  #2 (permalink)  
Antiguo 04/03/2007, 11:29
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Aplicar valor de una variable al src de un iframe

Hola:

En vez de cambiar la página desde el src del tag iframe, deberías hacerlo desde el objeto location.href de la ventana (objeto window)...

window.frames.parte.location.href = "pagina2.html";

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 04/03/2007, 11:35
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
Re: Aplicar valor de una variable al src de un iframe

hola, gracias me lo podrias aplicar, es decir decir como y donde lo pongo
  #4 (permalink)  
Antiguo 04/03/2007, 11:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Aplicar valor de una variable al src de un iframe

Hola:

Si te basta con un enlace normal (una etiqueta "A") bastaría con poner en el enlace el atributo target con el mismo nombre que el atributo name del iframe:

<a href="pagina2.hpml" target="parte" >enlace en iframe parte</a>

Y con un tag normal, por ejemplo una imagen:
<img src="imahen.gif" onclick="window.frames.parte.location.href = 'pagina2.html'" />

También valdría usar el método window.open (y darle parámetros a la ventana si quisieras...)

<img src="imahen.gif" onclick="window.open('pagina2.html', ¡parte', '')" />

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 04/03/2007, 12:32
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
Re: Aplicar valor de una variable al src de un iframe

pero al iframe que se lo quiero aplicar no esta en la misma pagina de la que hago click con un enlace, por lo que atraves de la url quiero enviale una variable para luego aplicarsela al iframe.

lo de target y demas ya se, pero no me sirve(en ese punto psiblemente me entendiste mal)

Como puedo poner el valor de la variable "A" en el src.
he probado poniendo var a, $a, pero no va, como seria, tengo que llamar a javascript para decirle que lo que le he puesto no lo lea tal cual, que es una variable?? pero como??

incluso he puesto un document.write(a); dentro del src ya que no se que hacer!!!

y lo peor es que creo que es sencillo y todo pero no se hacerlo!!!
gracias de nuevo
  #6 (permalink)  
Antiguo 04/03/2007, 16:43
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Aplicar valor de una variable al src de un iframe

Hola:

Si la página está cargada y quieres pasarle algo por url debes recargarla... no vale usar docunebt.write()...

Para pasar valores a un iframe lo mejor es usar alguna función del iframe (definida en la página del iframe)...

Y llamarla con la forma que puse antes:
window.frames.elIframe.laFunciónDelIframe(el_dato) ...

Puedes ver la comunicación entre página e iframe en alguna de estas páginas: Gradientes (php + librerías GD)... en esta página cada barra de desplazamiento es un iframe, y si cambias el valor de cada color desde el input text, se verá en la barra... y otra página: Iconos online en esta página, al seleccionar ñas herramientas se cambia el comportamiento del cursor en el iframe del dibujo (y más cosas...)

Si no sirve nada, procura explicar mejor tu problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 04/03/2007, 20:47
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
Re: Aplicar valor de una variable al src de un iframe

hola, bien, ya que veo que posiblemente no entendiste para que quiero hacer todo este lio, intentare explicarlo denuevo, de todas formas ya puse un link a un post donde tambien lo preguntaba.

parece que ai que leer mucho pero no es aburrido , leerlo xfa. gracias, lo he intentado esplicar bien.

imaginemos que tengo 4 paginas,
  • Index.html, es la principal, y entre otras cosas tiene un enlace a la 2º pagina(fotos.html)
  • fotos.html, esta formada por tablas y dentro de algunas de sus celdas ai 2 iframes, uno para el menu y el otro para el contenido.
    • Las paginas por defecto de los iframes son, menu.html para el menu y ultimasfotos.html para el contenido
    • los link del menu se cargan en el iframe contenido
  • ultimasfotos.html, es la pagina por defecto del iframe con name contenido
  • dia1.html, es una pagina que se carga en el iframe contenido haciendo click en un link del menu.
Aqui teneis un amago de la pagina index.html, la fotos.html y una de todo, lo que quiero conseguir


Lo que me gustaria es poder poner un enlace en la pagina index.html que me lleve a fotos.html pero que el iframe contenido tenga como pagina a cargar dia1.html (en vez de ultimasfotos.html que es lo que tiene puesto en el src)

Pues para todo eso, mirando hice lo siguiente,el link de index.html seria asi:
Código:
<a href="fotos.html?acargar=dia1.html">link a dia1.html</a>
Con ese enlace le paso a la variable "acargar" que sea "dia1.html"
y en fotos.html puse el codigo que ya comentaba en este post para que me lea la variable que le paso por la url y la guarde en la variable "valor"

por lo que unicamente me falta aplicar lo que tiene guardado "valor", por eso te comentaba como puedo hacer que funcione.

lo de document.write ya se que no funcionaba pero por probar ya no se que hacer.

la pagina no es necesario recargarla porque se abre a la vez que aplica la variable, no??

posiblemente no tenga que hacerlo con el src del iframe, pero sino, con que, con open?, location? y todo eso, pero como??

si podrias hacer un ejemplo mas o menos parecido te lo agradeceria mucho.
si no entiendes algo, no se como esplicarlo , pero gracias
saludos!!! y gracias por 100000ª vez
  #8 (permalink)  
Antiguo 04/03/2007, 23:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: Aplicar valor de una variable al src de un iframe

Hola:

Voy a empezar con un código que lee las variables de la url más fácilmente:

function leerUrl() {
parejas = location.search.substr(1).split("&");
for (var i = 0, total = parejas.length; i < total; i ++)
window[parejas[i].split("=")[0]] = unescape(parejas[i].split("=")[1]);
}

Y pones el body así:

<body onload="leerUrl()" >

con eso con una url así: pagina.html?param1=hola&param2=que+tal

Se te quedan las variables así:
param1 = "hola";
param2 = "que tal";

En las FAQs hay un código parecido, pero creo que el que puse lo simplifica un poco más.

Con esto, puedes crear un enlace con alguno de estos parámetros al cargarse la página...

<body onload="leerUrl()" >
<h1>Pruebas</h1>
<script type="text/javascript" >
<!--
document.write("<a href='destino.html&param=" + param1 + "' >enlace con parámetro</a>");
//-->
</script>

Pero si la página no quieres recargarla, entonces deberás usar el DOM para modificar el atributo href del enlace... preferentemente debería tener un id:
<a href="destino.html" id="destino" >destino</a>

En la misma página deberías tener una función para modificar el enlace...

function modificarDestino(nuevaUrl) {
document.getElementById("destino").href = nuevaUrl;
}

Y ahora desde la página principal puedes modificar ese destino llamando a esa función... al no tratarse de un enlace, no lo voy a poner con un enlace sino con un botón:

<button onclick="window.frames.parte.modificarDestino('nue voDestino.html')">modificar enlace del iframe</button>

Di si algo de esto te puede servir (es que sigo sin enterarme... es que es muy temprano...) tal vez más tarde (un poco más despabilado ) retome el tema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 06/03/2007, 18:49
 
Fecha de Ingreso: marzo-2005
Mensajes: 130
Antigüedad: 19 años, 1 mes
Puntos: 1
Re: Aplicar valor de una variable al src de un iframe

gracias!!!
me funciona pero con el codigo que lee la variable que yo tenia, el que tu comentas no se porque no va, pero creo que es que te falta darle el valor, es decir, hacer que lea la url y con documen.write lo escrivo pero creo que falta algo darle valor del estilo:

Código:
var param1 = ????????
el ???? es lo que hay que poner,
de todas formas ya te digo que me funciona, pero si es mas sencillo tu codigo mejor no?? dara menos problemas.

gracias!!!
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 11:16.