Javascript - Vaciar un iframe
Resuelto
le sparte
-
Chaostronix -
Chaostronix -
Hola,
Mi pregunta es muy simple: tengo un iframe rellenado en JavaScript con el comando "document.write('mi Texto') y busco una forma de vaciarlo de su contenido para que en cada clic del usuario, el contenido antiguo del iframe sea sobrescrito por el nuevo.
Gracias de antemano por tu ayuda ;-)
Mi pregunta es muy simple: tengo un iframe rellenado en JavaScript con el comando "document.write('mi Texto') y busco una forma de vaciarlo de su contenido para que en cada clic del usuario, el contenido antiguo del iframe sea sobrescrito por el nuevo.
Gracias de antemano por tu ayuda ;-)
Configuración: Mac OS X Firefox 2.0.0.3
4 respuestas
-
Mira hacia el interior del innerHTML. Uso: Obtienes el elemento de la siguiente forma (supongamos que tu iframe se llama 'toto' → id='toto') y sustituyes su contenido por "".
var myIframe = document.getElementById('toto'); myIframe.innerHTML = "";Pero como nunca he usado los iFrames, no sé si se trata de un componente como los DIV, o de un componente gestionado como un frame. Si se trata de la primera opción, entonces el método anterior debería funcionar. Si un iframe se gestiona de la misma manera que un Frame, entonces habrá que hacerlo de la siguiente manera:var myIframe = parent.frame['toto']; myIframe.document.innerHTML = "";
No estoy seguro de que funcione, pero es una pista (no puedo probar, lo siento). Buena suerte para la continuación. -- ~ No olviden la etiqueta "Resuelto" cuando su problema esté... resuelto :) ~-
Hola y gracias por esa respuesta rápida! Gracias a vuestra ayuda, he avanzado en la solución de mi problema, pero ha surgido otro. Toma el siguiente script:
ecrire dans un iframe
Si on clique sur remplir, ça fonctionne. Si on clique sur effacer, ça fonctionne. Mais si on clique à nouveau sur remplir... ça ne fonctionne plus! Comment éviter cela? Merci d'avance pour votre aide! ;-)
-
-
Hola,
¿Por qué usar document.write en la función remplir y document.body.innerHTML en vider?
En lugar de eso, usar la misma instrucción en ambas funciones.
Si sustituyes el código de tu función 'remplir' por esto:document.getElementById("htmle").contentWindow.document.body.innerHTML = "blablabla";
¿Funciona?
--
~ No olvides la etiqueta "Resuelto" cuando tu problema esté... resuelto :) ~ -
Gracias por tu ayuda, esto me permitió resolver mi problema.
Confirmo la siguiente sintaxis: document.getElementById('id_de_la_frame').contentWindow.document.body.innerHTML para leer el contenido de mi iframe.
Que tengas un buen día a todos. -
Hola,
Después de haber hecho:
document.getElementById("htmle").contentWindow.document.write('blablabla');
Hay que hacer:
document.getElementById("htmle").contentWindow.document.close();
De lo contrario el documento permanece abierto y el navegador se queda en bucle.
Eso permite que tu función de borrado funcione correctamente tantas veces como quieras.