Foros del Web » Programando para Internet » Javascript »

paso del contenido HTML de un textarea a un iframe, lee el titulo del documento.....

Estas en el tema de paso del contenido HTML de un textarea a un iframe, lee el titulo del documento..... en el foro de Javascript en Foros del Web. . Hola a todos ,amigos de javascript : tengo un textarea cuyo contenido es un documento HTML, y un iframe donde cargo ese documento. los ...
  #1 (permalink)  
Antiguo 28/10/2005, 10:09
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Pregunta paso del contenido HTML de un textarea a un iframe, lee el titulo del documento.....

.

Hola a todos ,amigos de javascript :

tengo un textarea cuyo contenido es un documento HTML, y un iframe donde cargo ese documento.

los dos forman parte de un documento HTML externo, que se introducen en un div al cargarse la pagina:


<textarea id="areatr">
<html>
.
.
</html>
</textarea>

<iframe></iframe>



Lo que hago es pasar el contenido del textarea a un iframe.


window.frames[1].document.open();
window.frames[1].document.write(document.getElementById('areatr').value);
window.frames[1].document.close();



funciona bien en Ie, pero Nf no rellena el iframe y tampoco devuelve error.

le he añadido esta linea al script ,para hacer un chequeo:


window.status=window.frames[1].document.title




y el titulo si lo muestra , es decir, el titulo de la pagina que esta dentro del textarea, de lo que se deduce, que la pagina está en el iframe , pues la orden hace referencia al titulo del documento inscrito en el iframe , sino ,no mostraria el titulo .

hay otro iframe en la pagina que forma parte del documento principal y lo referencio como frames[0]. no da problemas.

socorro ,no se lo que hacer ,se me han acabado las ideas .

Espero su ayuda. Gracias.


.
  #2 (permalink)  
Antiguo 28/10/2005, 11:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola programeitor:

Parece que quieres hacer algo como mi archi-conocido probador de scripts: http://www.pepemolina.com/probador/index.html

Funciona perfectamente en los navegadores conocidos...

Me parece que los textareas deben ser parte de un formulario para que algunos navegadores reconozcan el atributo value, sino puedes usar innerHTML...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 28/10/2005, 14:17
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Hola caricatos.

He metido el contenido del texarea en tu probador y tampoco funciona en Nf.
textarea.innerHTML es texto para un iframe.

Lo que estoy haciendo es algo muy parecido a tu probador de scripts, es un editor HTML en tiempo real. Ya te digo, funciona perfectamente en Ie. y Nf ,me hace esa cosa tan rara, de saber el titulo del documento ,pero no mostrarlo ,ni dard error., ......cosa curiosa.

Yo temo ,que el problema venga de la diferencia entre Ie y NF.

Última edición por programeitor; 28/10/2005 a las 14:26
  #4 (permalink)  
Antiguo 28/10/2005, 18:09
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Lo que no tengo idea es que es Nf... La N puede ser de netscape y la f de firefox o safari... (Hice una búsqueda rápida en google y tampoco me enteré...)

Si es un navegador viejo o no soporta el DOM es mejor no continuar con la prueba...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 28/10/2005, 18:29
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
oh, perdon, es Netscape Firefox
  #6 (permalink)  
Antiguo 28/10/2005, 18:38
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Je, je:

Firefox lo relaciono con mozilla (y netscape también)...

Uso mucho Firefox para mis pruebas, y te puedo asegurar que va de maravillas...

Puede que usas una versión vieja, pero las actuales van muy bien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 28/10/2005, 19:08
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
ah, pues es nueva, al probarlo en tu probador ,he visto que no es de la postcarga de esos elementos en la pagina, pues pasa exactamente igual, en Ie va bien pero en Nescape Firefox va mal.

Si no es de la postcarga
ni de error, pues no lo muestra
ni de interpretacion del "envio" ,pues muestra el titulo.
ni de confusion de iframes, pues en el otro no lo carga.
de que puede ser ?

El problema es que no puedo acceder a el desde el textarea.

he chequeado el funcionamiento, y ejecuta el script que tiene, lo unico que falla es la salida a pantalla. Y lo ultimo, el inspector dom muestra que el iframe está cargado con la pagina.

Otra cosa ,si le paso el contenido al frame[0] ,sale perfectamente.

Un saludo y gracias.

Última edición por programeitor; 28/10/2005 a las 20:56
  #8 (permalink)  
Antiguo 28/10/2005, 21:11
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Ya está ,solucionado. ,es el frame[2].(o frame nº 3, [0][1][2])

En realidad en la pagina hay 2 frames ,frame[0] que esta en el index, y frame[1] que se carga en un div en el onload desde un archivo externo.

Lo que creo que sucede en realidad, es que Netscape Firefox actua de la siguiente manera., el iframe[1] lo cargo metiendolo en el iframe[0] y a continuacion leo el contenido de este ultimo y se lo paso al div, .lo que pasa es que ésta, es la ultima carga externa que realizo en bateria, y el iframe[0] se queda con un iframe dentro. ,y con el del div, ya tenemos 3.

Tenemos 3 iframes ,eso es cierto, .pero el que está metido dentro del frame[0] no es el frame[2] de la pagina, sino el frame[0] del frame[0], y NF lo suma a la lista de la pagina.

¿ Está, o no está en un error ?

Saludos, y gracias por todo.
  #9 (permalink)  
Antiguo 29/10/2005, 02:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
¡Je!

Si la página la controlas tú mismo, podrías ponerle nombre a tus marcos, y llamarlos por él (document.frames["tuFrame"])... Es bastante más seguro que estudiar la indexación... ¡no te parece!

Bueno, lo que importa es que hayas solucionado tu problema.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 29/10/2005, 09:49
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Me he tenido que dar cuenta ,imaginando "extrañezas", y he dado en el clavo.

Por lo que comentas ,ya lo probe, me suelta error(no reconozco ese nombre de frame) ,ni el id(diferente), que tambien lo tiene. ,pues hubiera debido.... no sabia donde lo tenia metido hasta que yo le dije que lo buscara en frame[2] ,y lo encontro ahi mismo. Esto da para largo, lo mejor seria comunicar de alguna manera esto a "Noscapes Nozilla Forefix" ,a lo mejor usando un firefax.
  #11 (permalink)  
Antiguo 29/10/2005, 10:17
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Las colecciones no se indexan por el atributo id sino por el name... los id's solo se referencian con getElementById, pero las colecciones estándar por los nombre (name) images, forms, frames, links, anchors...

La verdad es que si llevan el mismo atributo name, no tengo idea de como se resuelve... ... seguramente con un índice numérico detrás... pero esa es otra historia.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 29/10/2005, 14:46
Avatar de programeitor  
Fecha de Ingreso: febrero-2005
Mensajes: 994
Antigüedad: 19 años, 2 meses
Puntos: 9
Como te digo, ya probe a llamarlo por su nombre:

window.frames.frametr.document.write()

y me dice que no existe. y de hecho no existe para Nf ,porque no esta en la ventana principal sino en frame[0], y por otro lado tampoco lo lee de frame[2], mientras no se le de la orden de leerlo. O de otro modo ,al tenerlos indexados, como de la ventana principal los tres, puede que haya un conflicto de nombres.

de hecho al primer frame lo llamo por el nombre:
window.frames.bateria.location
y funciona de maravilla.

el verdadero problema ,es que Ie tiene 2 frames en la ventana principal y Nf tiene 3, con lo que las cuentas no cuadran., en mi caso eso se solucionó con una asignacion:
var n=(navigator.appName=='Netscape')?2:1;
y luego:
window.frames[n]

Pero claro, como aun se puede mejorar mas ,lo que seguramente voy a hacer ,es utilzar el mismo iframe para todo. o de caso contrario borrar su contenido cuando no este en uso. 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 08:37.