Foros del Web » Programando para Internet » Javascript »

Eliminar nodo en un onload

Estas en el tema de Eliminar nodo en un onload en el foro de Javascript en Foros del Web. SAludos a todos en el foro. Estoy peleandome con un nodo que creo de manera dinámica, el nodo en sí es un div que muestra ...
  #1 (permalink)  
Antiguo 02/12/2009, 17:33
 
Fecha de Ingreso: octubre-2008
Mensajes: 109
Antigüedad: 15 años, 6 meses
Puntos: 0
Eliminar nodo en un onload

SAludos a todos en el foro.
Estoy peleandome con un nodo que creo de manera dinámica, el nodo en sí es un div que muestra una imagen y un letrero que dice "Cargando".

Les explico lo que deseo hacer; mando llamar a mi función que me crea un elemento tipo iframe, creo sus atributos y se lo agrego a un div donde debe ir la información.
Como es un iframe hago uso de uno de sus atributos "onload" para llamar a otra función que lo que hace es eliminar el letrero de cargando.

Para variar en firefox funciona de maravilla, pero en ie no funciona y aquí es donde he intentado de todo.

Aquí mi código

Código:
//esta función se ejecuta cuando detecta un cambio en una caja tipo select
function setFilter2(municipio1,entidad1,div,dataSource) {

var cargarDiv = document.getElementById("contenido");
	
cargarDiv.innerHTML= '<div id="barra" align="center"><img loop="-1" align="middle" src="barraProgreso.gif"><br>Cargando..</div> ';
var nuevaOpcion=document.createElement("iframe");
	nuevaOpcion.id = "grid";
	nuevaOpcion.width = 800+"px";
	nuevaOpcion.height = 1200+"px";
	nuevaOpcion.frameBorder = 0;
	nuevaOpcion.scrolling = "auto";
	nuevaOpcion.marginWidth =1;
	nuevaOpcion.setAttribute("src", "grid.php?entidad="+entidad1+"&municipio="+municipio1);
	cargarDiv.appendChild(nuevaOpcion); 
	nuevaOpcion.onload= eliminar;
	}
//con esta función elimino el letrero cargando una vez que el iframe se ha cargado	
function eliminar(){
var iframeEl = document.getElementById("contenido");
var y = document.getElementById("barra");
iframeEl.removeChild(y);
}
Alguien sabe como lo puedo solucionar para que funcione en cualquier navegador??
Ayuda por favor.
  #2 (permalink)  
Antiguo 03/12/2009, 12:25
 
Fecha de Ingreso: octubre-2008
Mensajes: 109
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Eliminar nodo en un onload

Sería posible comunicarme entre la ventana padre que contiene al iframe??
Si es así tal vez podría hacer que al cargarse el iframe, dentro del mismo busque al div de la ventana principal y así borrarlo desde el iframe.

Ayuda!!!
  #3 (permalink)  
Antiguo 04/12/2009, 10:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 109
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Eliminar nodo en un onload

Lo he resuelto medinate la detección del navegador, dado que no funcionaba con ie7.
Código:
var cargarDiv = document.getElementById("contenido");
	
cargarDiv.innerHTML= '<div id="barra" align="center" style="width:700px"><img loop="-1" align="middle" src="barraProgreso.gif"><br>Cargando..</div> ';
var nuevaOpcion=document.createElement("iframe");
	nuevaOpcion.id = "grid";
	nuevaOpcion.width = 800+"px";
	nuevaOpcion.height = 1200+"px";
	nuevaOpcion.frameBorder = 0;
	nuevaOpcion.scrolling = "auto";
	nuevaOpcion.marginWidth =1;
	nuevaOpcion.setAttribute("src", "grid.php?entidad="+entidad1+"&municipio="+municipio1);
	cargarDiv.appendChild(nuevaOpcion); 
	
	var browser=navigator.appName;
	var b_version=navigator.appVersion;
	var version=parseFloat(b_version);
	var y = document.getElementById("barra");
	
	if (browser=="Netscape")
	{
		nuevaOpcion.onload = function(){	
		y.style.display='none';
		}
	}
	else if(browser=="Microsoft Internet Explorer")
	{
		nuevaOpcion.onreadystatechange = function(){	
		y.style.display='none';
		}
	}
Como la función onload solo funcionaba con firefox, agregué onreadystatechange para hacerlo funcionar con ie7,ie8.

Ojalá a alguien le sirva!!!
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 06:33.