Foros del Web » Programación para mayores de 30 ;) » Programación General »

javascript / XSLT - Abriendo una ventana dentro de un Iframe

Estas en el tema de javascript / XSLT - Abriendo una ventana dentro de un Iframe en el foro de Programación General en Foros del Web. En el centro de mi sitio tengo un iframe llamado "content" el id es "content" también. Cuando se da click en un boton X, se ...
  #1 (permalink)  
Antiguo 30/01/2006, 15:22
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Información javascript / XSLT - Abriendo una ventana dentro de un Iframe

En el centro de mi sitio tengo un iframe llamado "content" el id es "content" también.

Cuando se da click en un boton X, se lee (con el XSLT) un parametro traido del request, ejemplo: CUNMG-007$DFO$BASICO$3/

Éste es almacenado en un campo hidden. Luego el valor del hidden se envia a una funciòn (read(this.form)) que debe mostrar la información en el iframe "content", donde también, se encuentra la pagina que hace el llamado.


Se envian los datos por ejemplo: CUNMG-007$DFO$BASICO$3/

Función:
function read(form){
var value = form.PARAM.value;
var fgmt ='';
var i = 0;
var sw = 1;
var PARENT ='';
while (value != ''){
var f = value.substring(i,i+1,value);
if ((f != '$') && (f !='/')){fgmt = fgmt+f;}
i++;
if (f == '$' || f == '/'){
var largo = fgmt.length;
value = value.substring(largo+1,value.length,value);
i = 0;
if (sw == 1){var DFO = fgmt;}
if (sw == 2){var SHOW = fgmt;}
if (sw == 3){var FLUJO = fgmt;}
if (sw == 4){var PASO = fgmt;
PARENT = value;
window.open("http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT);
}
sw++;
fgmt = '';
}
}

}

Resultado: se debe abrir el url que se construye a través del parametro, dentro del iframe.
Cuando se coloca en window.open(url,"iframe") el iframe, la pantalla hace un parpadeo como si lo hubiera cargado, pero me muestra la misma informacion original.
Y cuando le quito el "iframe" me muestra el contenido del url, pero en una ventana fuera del iframe. debe ser algo simple (creo), pero ya no tengo ni cabello en la frente de tanto arrancarmelos. Necesito la ayuda de ustedes los expertos.
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #2 (permalink)  
Antiguo 30/01/2006, 15:58
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Haber si te puede ayudar esto.

Llega al objeto Iframe por medio de su ID y modifica su propiedad src.

Te pongo un sencillo ejemplo.

<html>
<head><title>Prueba</title>

<script language="javascript">

function rellenar()
{
document.getElementById('centro').src="http://www.google.com"

}

</script>


</head>
<body>

<iframe id="centro"></iframe>

<input type="submit" onClick="rellenar()" />
</body>
</html>

Saludos !!!!!!!
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #3 (permalink)  
Antiguo 30/01/2006, 18:04
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Lo estuve tratando de implementar pero no me salio . Tendrá algo que ver que lo estoy llamando desde un documento que se está siendo visualizando dentro del iframe?

Habra alguna forma de decirle que es iframe del padre? :S

muchas gracias :)
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #4 (permalink)  
Antiguo 31/01/2006, 03:07
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola,

Seguro es por eso. Estoy haciendo unas pruebillas.

Haber quien lo saca antes.

Saludos !!!!!
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #5 (permalink)  
Antiguo 31/01/2006, 03:54
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola,

¿porque no actulizas sin mas el contenido del iframe con un simple <a href ...>?.

Es decir el html contenido dentro del iframe puede hacer llamada a otra pagina y esta será cargada dentro del mismo iframe.
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #6 (permalink)  
Antiguo 31/01/2006, 07:37
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Voy a intentarlo, solo que tengo que armarlo con los valores que extraigo del parametro enviado.

Se me hace extraño por que tengo otras pequeñas funciones que si lo hacen, como esta:

function DIG(DFO)
{
window.open("http://localhost:8081/cocoon/xml_wpc/DIG_"+DFO,"diagramas");
window.open("http://localhost:8081/cocoon/xml_wpc/INFO_"+DFO,"info_flujo");
}

me actualiza los 2 iframe.
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.

Última edición por Chiquita; 31/01/2006 a las 15:45
  #7 (permalink)  
Antiguo 31/01/2006, 07:39
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
es lo unico que me falta para completar mi proyecto... !!! y me esta sacando canas ...
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #8 (permalink)  
Antiguo 31/01/2006, 08:35
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Una pregunta;

window.open("http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT);

¿donde le pasas el id del iframe en esta funcion?.
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #9 (permalink)  
Antiguo 31/01/2006, 09:33
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Ese codigo es sin el iframe, es el que me funciona pero me lanza la ventana afuera. Cuando le coloco el iframe lo escribo directamente, asi:

window.open("http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT,"content");

cuando le coloco "content" no me despliega nada...
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #10 (permalink)  
Antiguo 31/01/2006, 10:26
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
¿Ha esta funcion le haces llamada desde la pagina contenida dentro del propio iframe?

function DIG(DFO)
{
window.open("http://144.1.100.49:8081/cocoon/xml_wpc/DIG_"+DFO,"diagramas");
window.open("http://144.1.100.49:8081/cocoon/xml_wpc/INFO_"+DFO,"info_flujo");
}
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #11 (permalink)  
Antiguo 31/01/2006, 10:28
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
si.... en el <body onload="DIG('DFO')">
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #12 (permalink)  
Antiguo 31/01/2006, 10:42
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Pero "diagramas" e "info_flujo" no son los iframes que contienen la pagina que los esta actualizando en ese momento ¿verdad?
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #13 (permalink)  
Antiguo 31/01/2006, 11:11
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Información

En el fondo esta la pagina principal, es la que contiene estos 3 iframes, el iframe "content" es el que muestra el contenido y de alli actualiza los iframes "diagramas" e "info_flujo", además carga la nueva pagina sobre si mismo.. ummm creo que ya se puede ver que hay algo raro.

Como puedo mostrarte la imagen del sitio? no está en internet, lo estoy desarrollando localmente...
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.
  #14 (permalink)  
Antiguo 31/01/2006, 11:48
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Lo que esta claro es que por medio de window.open (url, "id_iframe"), no podemos actualizar el iframe que contiene la pagina que activa la actualización.

Yo cambiaria como te he dicho antes, en tu funcion read (form) la linea

window.open("http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT);

por

window.location ="http://trl";

A ver que te parece.
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
  #15 (permalink)  
Antiguo 31/01/2006, 13:05
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Estoy probando.... ya probe

En teoría, este código actualiza la misma ventana que esta dentro del iframe, verdad?

antes de colocar el http://trl, concateno los valores:

var direccion = "http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT;

la revise con un alert() y si me trae la direccion, pero cuando lo coloco en window.location =direccion; o le escribo la direccion no me sale nadaaaa...

Existe un antidoto para este problema verdad?! dime que si... y si se le indica de alguna manera que actualice el _self a el mismo, la misma ventana?

Obsever esta función, también hace lo mismo que deseo que haga la otra:

function WPC_PRNT(DFO,SHOW,FLUJO,PASO,PARENT){
window.open("http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT,"content");
}

lo curioso es que, la que estamos viendo es la única que no me funciona :S, que cosa verdad...
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.

Última edición por Chiquita; 31/01/2006 a las 15:46
  #16 (permalink)  
Antiguo 31/01/2006, 13:29
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola,

Sí, te actualiza el iframe que contiene la pagina donde esta escrito ese codigo. Probado en Explorer y FireFox.

yo creo que vamos por buen camino con la solucion window.location ="url";

Mira a ver si va a ser cosa de las comillas.

Pon la funcion aqui a ver si podemos ver algun fallo.

De todos modos, no veo la forma y mira que la he probado de actualizar un iframe con window.open desde la pagina contenida en el mismo.

Contestame con lo que te salga que tengo curiosidad ya con este tema.

Saludos !!!
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com

Última edición por Rumailster; 31/01/2006 a las 14:13
  #17 (permalink)  
Antiguo 31/01/2006, 14:29
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
Estaba recreando el caso en otro archivo para probar lo que mencionastes y me di cuenta de un fallo, se pasa haciendo loop dentro del while, coloque un alert(i); y me dì cuenta, solo deseo que en la cadena que se le pasa en form, cuando encuentra el primer "/" termine de sacar las variables DFO, SHOW, FLUJO y PASO y habra la pagina. Existe una funcion "return" o "break" que termine el ciclo del while.

function read(form){
var value = form.PARENT.value;
var fgmt ='';
var i = 0;
var sw = 1;
var PARENT ='';
while (value != ''){
var f = value.substring(i,i+1,value);
if ((f != '$') && (f !='/')){fgmt = fgmt+f;}
i++;
alert(i);
if (f == '$' || f == '/'){
var largo = fgmt.length;
value = value.substring(largo+1,value.length,value);
i = 0;
if (sw == 1){var DFO = fgmt;}
if (sw == 2){var SHOW = fgmt;}
if (sw == 3){var FLUJO = fgmt;}
if (sw == 4){var PASO = fgmt;
PARENT = value;
//window.open("http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT);
window.location="http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT;
}
sw++;
fgmt = '';
}
}
}

siguiendo con el caso, en el archivo aparte si me funciona, bueno solo una vez jejej... lo monte en el sitio y no me salio nada, voy a revisar mis condiciones dentro del XSLT para ver si alguna está afectando. Si tienes curiosidad preguntame todo lo que quieras. Estoy a sus ordenes :)

Sigo con las pruebas.
graaaaciasss por todo el apoyo que me estas brindando.
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.

Última edición por Chiquita; 31/01/2006 a las 15:46
  #18 (permalink)  
Antiguo 31/01/2006, 15:04
Avatar de Chiquita  
Fecha de Ingreso: agosto-2003
Ubicación: 8º 54' de latitud y a 79º 19' de longitud, a 0 metros sobre el nivel del mar
Mensajes: 93
Antigüedad: 20 años, 8 meses
Puntos: 0
He hecho varias pruebas, la dirección esta bien y el XSLT también. Probaré con el loop.
__________________
;-) Chiquita
Anuncio: Chica tímida busca... bueno... es que... no, bueno... nada... no importa.

Última edición por Chiquita; 31/01/2006 a las 15:47
  #19 (permalink)  
Antiguo 01/02/2006, 08:07
Avatar de Rumailster  
Fecha de Ingreso: enero-2006
Ubicación: Barakaldo, Bizkaia
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 0
Hola,

he estado haciendo pruebas con tu funcion javascript y la verdad no encuentro ningun error excepto en la variable PARENT que queda vacia.

Te escribo el codigo con las modificaciones que le he echo añadiendo algunos alerts en los puntos que creo son importantes.

Pruebalo completo haber si te da alguna idea lo que aparece.


<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 4">
<title>Welcome to Adobe GoLive 4</title>

<script language="JavaScript">


function read(form){
var value = form;
var fgmt ='';
var i = 0;
var sw = 1;

var PARENT ='';

while (value != ''){
alert (i);
var f = value.substring(i,i+1,value);
if ((f != '$') && (f !='/')){fgmt = fgmt+f;}
i++;
if (f == '$' || f == '/'){
var largo = fgmt.length;
value = value.substring(largo+1,value.length,value);

alert ("el valor de value es = "+value);

i = 0;
if (sw == 1){
var DFO = fgmt;
alert ("El valor de DFO es " +DFO);
}
if (sw == 2)
{
var SHOW = fgmt;
alert ("El valor de SHOW es " + SHOW);
}
if (sw == 3)
{
var FLUJO = fgmt;
alert ("El valor de FLUJO es " +FLUJO);
}
if (sw == 4)
{
var PASO = fgmt;
alert ("El valor de PASO es "+PASO);

//PARENT toma el valor de value
PARENT = value;
alert("El valor de PARENT es "+PARENT);

url="http://localhost:8081/cocoon/xml_wpc/WPC_"+DFO+"?SHOW="+SHOW+"&FLUJO="+FLUJO+"&PASO="+P ASO+"&PARENT="+PARENT;
alert (url);
window.location=url;
}
sw++;
fgmt = '';
}
}

}





</script>



</head>

<body onLoad="read('CUNMG-007$DFO$BASICO$3/')">
</body>

</html>



SAludos !!!!
__________________
Sobre PHP y eso de la Internet
peachep.wordpress.com
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 08:32.