Foros del Web » Programando para Internet » Javascript »

carga de iframe anda en IE pero no en firefox

Estas en el tema de carga de iframe anda en IE pero no en firefox en el foro de Javascript en Foros del Web. Hola, Tengo un problema con la carga de un iframe mediante javascript, por todo lo que leí pareciera que el codigo esta perfecto, pero solo ...
  #1 (permalink)  
Antiguo 25/12/2009, 10:31
 
Fecha de Ingreso: noviembre-2005
Mensajes: 32
Antigüedad: 18 años, 5 meses
Puntos: 0
carga de iframe anda en IE pero no en firefox

Hola,

Tengo un problema con la carga de un iframe mediante javascript, por todo lo que leí pareciera que el codigo esta perfecto, pero solo anda muy bien en Internet Explorer y en firefox anda a medias. Les paso las dos paginas:

prueba.html

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<STYLE type="text/css">
DIV.update_area1 {border: 1px solid #bbbbbb; font-size: 12pt; width: 400px; height:130px; padding: 5px}
</STYLE>
<script type="text/javascript">
function limpiarDiv(id)
{
var div;
div = document.getElementById(id);
while(div.hasChildNodes()) {
div.removeChild(div.lastChild);
}
}

//Escribir en un div
function rellenarDiv(id)
{
var sethtml = '<iframe name="marco1" id="marco1" width="120" height="130" scrolling="no" frameborder="0" src="prueba2.php"></iframe>';
var div = document.getElementById(id);

//Llamamos a la función limpiarDiv para eliminar el contenido
//actual del div.
limpiarDiv(id);
div.innerHTML = sethtml;
}
function cambiarIframe() {
var sethtml = "Ahora este es el nuevo contenido del iframe";
frames.marco1.document.getElementById('divIframe') .innerHTML = sethtml;
}
</script>
</head>
<body>
<CENTER><div id="update_area1" class="update_area1">
no hay nada<br /><br />
</div> <BR><BR>

<input type="button" value="Borrar y cargar div con un iframe" onClick="rellenarDiv('update_area1');"><BR><BR>
<input type="button" value="Cambiar contenido iframe" onClick="cambiarIframe();"><BR><BR>
</CENTER>

</body>
</html>
Y por ultimo, la pagina del iframe: prueba2.php

Cita:
<html>
<head>
<title>Ejemplo de código JavaScript en el propio documento</title>
</head>
<body>
<div id="divIframe">
Div dentro del iframe
</div>
</body>
</html>
Ahora explico lo que pasa en firefox: al presionar el boton "borrar y cargar div con un iframe" carga bien prueba2.php. Luego cambio el contenido del iframe que hay dentro de un div con "cambiar contenido iframe", todo bien hasta alli. Nuevamente borro y cargo el contenido del div update_area1 con el primer boton, bien, y nuevamente trato de cambiar el contenido del iframe .... y ya no funciona!!
es decir funciona en un solo intento. El error que me tira el depurador es:
Error: frames.marco1.document is null
Archivo de origen: http://127.0.0.1/prueba.html
Línea: 31



En IExplorer funciona permanentemente bien. Es raro que largue este error en un 2° intento, entiendo que tendria que haceptar o rechazar totalmente el código. El debugger del Internet Explorer no me larga ningun error. Para los que les interese este es un script que se puede utilizar en la previsualizacion-eliminacion y carga de imagenes al sitio web.
¿Qué esta pasando?. Ayuda por favor, y por supuesto, mil gracias.
Gracias

Última edición por tato_arm; 28/12/2009 a las 11:13 Razón: Hay un error en el texto
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:44.