Javascript - Vaciar un iframe

Resuelto
le sparte -  
 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 ;-)
Configuración: Mac OS X Firefox 2.0.0.3

4 respuestas

  1. kij_82 Mensajes publicados 4102 Fecha de registro   Estado Colaborador Última intervención   857
     
    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 :) ~
    0
    1. le sparte
       
      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! ;-)
      0
      1. 2i4u > le sparte
         
        Hola, tengo exactamente el mismo problema que tú y quería saber si has encontrado alguna solución a tu problema. Gracias
        0
  2. kij_82 Mensajes publicados 4102 Fecha de registro   Estado Colaborador Última intervención   857
     
    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 :)    ~
    0
  3. Aguila
     
    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.
    0
  4. Chaostronix
     
    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.
    0