Tengo el código para poder "cerrar" los frames de una ventana con frames pero me los cierra todos... Tengo una ventana cpnm 3 frames y me interesa cerrar sólo uno. He hecho pruebas mil, pero me rindo, necesito ayuda o me volveré tarumba.
1 Respuesta
Respuesta de bobbin
1
1
bobbin, Informática general, especialización en javascript, java, asp, c# y
Me podría aventurar a decirte que es posible que cierres un frame del que cuelguen los tres, pero sin ver el código no te lo puedo asegurar.
Pues mira, tengo estos dos códigos: function quitaFrames() { if (top.location != location) top.location.href = self.location.href; } y este otro: function quitarFrame() { if (self.parent.frames.length != 0) self.parent.location=document.location.href; } ¿Qué hago? :-(
La primera de las funciones elimina todos los frames que haya y la segunda elimina todos los frames que estén a su mismo nivel. Seguramente tendrás una página parecida a: <frameset cols="x,y,z"> <frame src="uno.html" name="uno"> <frame src="dos.html" name="dos"> <frame src="tres.html" name="tres"> </frameset> y al intentar quitar una, pones esa en el lugar de donde están los tres. Eh, tiene solución, siempre y cuando no importe que se vuelvan a recargar los otros dos frames. Bien, la estructura de tres frames que teníamos antes se va a quedar en algo tal que así: <frameset cols="x,*"> <frame src="uno.html" name="uno"> <frame src="nuevoframes.html" name="dosnuevo"> </frameset> Tendrás una nueva página que aquí llamamos nuevosframes.html, que tendrá los otros dos frames. <frameset cols="x,y"> <frame src="dos.html" name="dos"> <frame src="tres.html" name="tres"> </frameset> En este caso vamos a quitar la página uno.html El código sería: function quitarFrame() { parent.location=parent.dosnuevo.location } Lo que haría esa función es quitar el frameset original que tiene uno.html y la página nuevoframes.html por el contenido de la página nuevoframes.html, que serían los dos frames que quieres conservar. Si no te funciona o el frame que quieres eliminar está en medio (el único caso de los tres que no se está cubriendo) me lo dices y ya veremos qué hacemos. Suerte ;)