Vider une iframe... et la remplir à nouveau [Résolu]

Messages postés
7
Date d'inscription
samedi 1 août 2009
Dernière intervention
14 avril 2010
- - Dernière réponse : LeSparte
Messages postés
7
Date d'inscription
samedi 1 août 2009
Dernière intervention
14 avril 2010
- 3 mai 2007 à 13:12
Bonjour à tous!

Voici mon script problématique (l'explication de mon problème est juste en dessous )

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html><head>

<title>ecrire dans un iframe</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<script>

function remplir(){

document.getElementById("htmle").contentWindow.document.write('blablabla');

}

function effacer(){

var myIframe = document.getElementById('htmle');

myIframe.contentWindow.document.body.innerHTML = "";

}

</script>

</html>

Si on clique sur remplir, cela fonctionne, l'iframe affiche "blabla". Si on clique sur
effacer, cela fonctionne. Mais si on clique à nouveau sur remplir...
cela ne fonctionne plus!

Comment éviter cela?

Merci d'avance pour votre aide! ;-)
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
42
3
Merci
mon intérêt primordial va à Internet exlorer par rapport à mes utilisateurs
    et irait à des navigateurs compatibles par intérêt personnel.
        mais chacun et ses goûts et ces motivations, et les vaches seront bien gardées.


>>coder des fonctions qui conduisent à un chargement perpétuel de la page,
    comme ça, ça va un peu mieux avec FF, IE est content aussi



<script    type="text/javascript">
    var Fen,Champ;
    window.onload=function()
        {
            switch (navigator.appName)       // par exemple
            {
                //         ===============================
                case     "Microsoft Internet Explorer":
                //         ===============================
                            Fen=window.frames['htmle'];
                            Champ=Fen.document;
                            break;
                //               =========
                default:    //     sinon
                //               =========
                            Champ=document.getElementById('htmle').contentDocument;
                            Fen=document.getElementById('htmle').contentWindow;
                            break;  
            }
            Champ.designMode='On'; 
            Fen.focus();
        }

function remplir(){
  Fen.document.body.innerHTML+='blablabla';   
}
function effacer(){   
  Champ.innerHTML = "";
}
</script>
  
          









<hr />



Cordialement            Bul    

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
42
3
Merci
j'ai oublié la fonction qui efface...

function effacer()
{   Fen.document.body.innerHTML = "";    }
<hr />


Cordialement            Bul    

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
42
0
Merci
Bonjour,
avec IE, ça fonctionne.    avec FF, non.    avec K-Meleon : une erreur...
mais, comme souvent hélas, IE et FF ne fonctionnenet pas de la même manière.

    switch (navigator.appName)       // par exemple
    {
        //         ===============================
        case     "Microsoft Internet Explorer":
        //         ===============================
            Fen=window.frames['htmle'];
            Champ=Fen.document;
            break;
        //               =========
        default:    //     sinon
        //               =========
            Champ=document.getElementById('htmle').contentDocument;
            Fen=document.getElementById('Saisie').contentWindow;
            break;   
    }

    puis
    Champ.designMode='On';    // iframe modifiable
    Fen.focus();   ...

<hr />


Cordialement            Bul    
Commenter la réponse de cs_bultez
Messages postés
7
Date d'inscription
samedi 1 août 2009
Dernière intervention
14 avril 2010
0
Merci
Bonjour,

Merci pour vos éléments de réponse.
En fait, mon intérêt primordial va à Firefox tant par rapport à mes utilisateurs que par intérêt personnel. Il m'arrive en effet fréquemment, chez ce dernier, de coder des fonctions qui conduisent à un chargement perpétuel de la page, comme l'illustre la fonction "remplir()" ci-dessus. Voyez-vous une raison à cela?

Merci d'avance pour ces informations complémentaires ;-)
Commenter la réponse de LeSparte
Messages postés
7
Date d'inscription
samedi 1 août 2009
Dernière intervention
14 avril 2010
0
Merci
Merci beaucoup! Tout fonctionne désormais!
Je vais garder ce code bien au chaud ;-)
Commenter la réponse de LeSparte
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
42
0
Merci
nickel si ça baigne et merci du retour



    switch (navigator.appName) 


            les CASE ne testent pas grand chose ( doux euphémisme ! )
            ici, avec IE et K-Meleon ( ou FF ) ça baigne
                  mais quid d'Opera par exemple ? je ne sais pas où il en est...




<hr />



Cordialement            Bul    
Commenter la réponse de cs_bultez
Messages postés
7
Date d'inscription
samedi 1 août 2009
Dernière intervention
14 avril 2010
0
Merci
Je viens de tester avec Opera et cela fonctionne également.
Tout serait-il donc pour le mieux dans le meilleur des mondes? ;-)

Merci encore et codez bien!
Commenter la réponse de LeSparte

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.