Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1121 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  un code qui marche sous ie5.5 mais pas sous ie6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un code qui marche sous ie5.5 mais pas sous ie6

n°472124
hobbes
Posté le 30-07-2003 à 15:58:59  profilanswer
 

voilà j'ai une iframe avec un contenu editable"(contenteditable="true" ) à l'interieur de cette iframe j'ai un tableau qui appelle un script quand on clique dessus  
donc quand on clique dessus (sur le tableau) dans ie5.5 ça marche  cool par contre dans ie6 ça marche plus :??: c bizarre ça apparement ça vient du fait que la sécu dans ie6 est renforcée comment je peux contourner le pb plz :lol:

mood
Publicité
Posté le 30-07-2003 à 15:58:59  profilanswer
 

n°472125
Mara's dad
Yes I can !
Posté le 30-07-2003 à 16:01:44  profilanswer
 

Tiens, t'as fais un nouveau topic ?
 
Qu'est ce qui se passe sans iframe ?
 
Le code JS il est délaré à quel endroit ?
 
Montre un bout de code qui marche dans ie 5.5 et pas dans ie 6.0.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°472147
hobbes
Posté le 30-07-2003 à 16:08:30  profilanswer
 

ben un bout de code c'est tendu c pas très clair tiens regarde
function creation_tableau (colonne,ligne,couleur){
             try{
                opener.frames ['frame_HTML'].focus ();
                var selection =opener.frames ['frame_HTML'].document.selection.createRange ();
 
                //generer le tablo en fct du nb colonnes/lignes
                if (couleur!="" ) {
                    lacouleur = "#"+couleur;
                    bordure=" BORDER=1 BORDERCOLOR=\""+lacouleur+"\" ";
                    } else { bordure=" border=0 ";  }
 
                var tablo = "<TABLE "+bordure+" CELLPADDING=0 CELLSPACING=0 cols="+colonne+" OnControlSelect=\"window.parent.document.test2.index.value=this.sourceIndex;window.parent.document.test2.couleur.value=this.borderColor;window.parent.document.test2.col.value=this.cols;\">";
                for (i=1;i<ligne+1;i++) {
                     tablo+= "<TR>";
                     for (j=1;j<colonne+1;j++) {
                          tablo+= "<TD>cellule</TD>";
                     }
                     tablo+= "</TR>";
                }
                tablo+= "</TABLE>";
 
                selection.pasteHTML(tablo);//je colle le code du tableau dans l'iframe;
                selection.select();
                selection = opener.frames ['frame_HTML'].document;
                opener.frames ['frame_HTML'].focus();
                alert("Vous pouvez redimensionner votre tableau :\nsélectionnez le tableau en cliquant sur un des coins du tableau, des curseurs de redimensionnement apparaissent.\n\nVous pouvez intégrer un tableau dans la cellule d'un autre tableau : \nPositionnez le curseur dans la cellule du tableau 1 et ajoutez le tableau 2." );
             }
             catch (exCaughtException){
                 }
             return;
}
 
donc dans mon iframe apparait le tableau mais lorsque je clique dessus si je suis dans ie 5.5 mes champ de texte prennent bien les valeurs que je veux :love:  :love:  
si je suis dans ie 6 ça marche pas le script s'execute pas :pt1cable:  :pt1cable:

n°472160
Mara's dad
Yes I can !
Posté le 30-07-2003 à 16:17:54  profilanswer
 

Essaye avec du vrai Javascript :
 
- Onclick au lieu de OnControlSelect
- utilise les fonctions du genre getElementById()
- Ne fait pas de racourçi : "this.borderColor" devient "this.style.borderColor"
 
Quand je demande "un bout de code qui marche dans ie 5.5 et pas dans ie 6.0." je parle d'un exemple reproductible par tous.
Là y faut deviner ce qu'il y a autour, le reconstruire et faire des tests. Autant dire que je ne vais pas le faire.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°472181
hobbes
Posté le 30-07-2003 à 16:26:14  profilanswer
 

j'ai déjà essayer avec onclick ça marche pas non plus... le pb c'est que ça genere pas d'erreur ça l'ignore totalement j'essaye avec get elementbyid

n°472200
hobbes
Posté le 30-07-2003 à 16:42:03  profilanswer
 

en fait ma couleur de brdure n'est pas à l'interieure d'un style....

n°473175
hobbes
Posté le 31-07-2003 à 14:30:24  profilanswer
 

<iframe width=100% src="mid.htmlname="frame_texte" id="frame_HTML" contenteditable=true width="300" height="200" class="texte_HTML" style="color: #4382C0; font-family: Arial, Geneva,  Helvetica; font-size=12 px; border:1 solid #D4DCEB"></iframe>  
ça c le code de mon iframe
voici le code de mid.html
<html>
<body>
 
<TABLE>
onClick="window.parent.document.test2.index.value=this.sourceIndex" borderColor=#aa66cc  
 
cellSpacing=0 cellPadding=0 border=1>
 
<TBODY>
<TR>
<TD>cellule</TD>
<TD>cellule</TD></TR>
<TR>
<TD>cellule</TD>
<TD>cellule</TD></TR></TBODY></TABLE>qzq<FONT color=#558866>  
 
 
</body>
</html>
 
ça ça marche sous ie5.5 je clique sur le tableau et ça me met la valeur qui va bien dans le bon champ de texte.
sous ie 6 ça marche pas....... autre chose dans onclick je ne peux pas mettre de fonction style alert() sinon ça ne marche pas
j'éspère que c'est plus claire..  :jap: désolé pour le retard du code............"  :jap:  :jap:

n°473508
Mara's dad
Yes I can !
Posté le 31-07-2003 à 16:24:22  profilanswer
 

main.html :

<hml>
<iframe width=100% src="mid.html" name="frame_texte" id="frame_HTML" contenteditable=true width="300" height="200" class="texte_HTML" style="color: #4382C0; font-family: Arial, Geneva,  Helvetica; font-size=12 px; border:1 solid #D4DCEB"></iframe>  
 
<form id="test2">
<input type="text" id="index"><br>
<input type="text" id="couleur"><br>
<input type="text" id="col"><br>
</form>
 
</html>


 
mid.html

<html>
<head>
<script>
function get_info( obj )
{
 window.parent.document.getElementById( 'index' ).value=obj.sourceIndex;
 window.parent.document.getElementById( 'couleur' ).value=obj.borderColor;
 window.parent.document.getElementById( 'col' ).value=obj.cols;
}
</script>
</head>
<body>
 
<TABLE onClick="get_info( this );" borderColor="#aa66cc" cellSpacing="0" cellPadding="0" border="1" cols="2" >
<TBODY>
<TR>
<TD>cellule</TD>
<TD>cellule</TD></TR>
<TR>
<TD>cellule</TD>
<TD>cellule</TD>
</TR>
</TBODY>
</TABLE>
 
qzq<FONT color=#558866>  
 
 
</body>
</html>


 
Ca marche très bien quand c'est bien écrit !
 
La preuve là : http://www.surleau.com/test/hobbes/main.html


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°473564
hobbes
Posté le 31-07-2003 à 16:56:58  profilanswer
 

Merci beaucoup Mara's dad pour tout le mal que tu t'es donné c'est vraiment trop cool de ta part :love:  :love:  mais je sais ce qui cloche le mode design mode était enclenché c pour ça que ça foiré... désolé....bon sinon quand tu met le design mode en on ça marche sous ie 5 mais pas sous ie 6 t'as une soluce pour ça??? désolé d'avoir oublié de donner cette info capitale excuse moi encore :(  :(

n°473598
Mara's dad
Yes I can !
Posté le 31-07-2003 à 17:16:48  profilanswer
 

C'est quoi le mode design ? ? ? ? ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 31-07-2003 à 17:16:48  profilanswer
 

n°474173
hobbes
Posté le 01-08-2003 à 09:34:55  profilanswer
 

le mode design c'est le mode qui permet d'éditer la page en direct il est utilisé pour les éditeur wysiwig...C pour ça que je voulais utilisé OnControSelect parceque lorsque la page n'est pas en mode design cet évènement ne peut être généré...

n°474177
Mara's dad
Yes I can !
Posté le 01-08-2003 à 09:38:34  profilanswer
 

Bon, et tu l'active coment ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°474212
hobbes
Posté le 01-08-2003 à 10:13:47  profilanswer
 

on l'active lors du chargement de la page html.....

n°474214
hobbes
Posté le 01-08-2003 à 10:16:46  profilanswer
 

tiens regarde c cette petite fonction
 

Code :
  1. function load(){
  2.   contenuframe("frame_HTML" ).designMode = "On";
  3. }


n°474218
hobbes
Posté le 01-08-2003 à 10:22:02  profilanswer
 

Code :
  1. function contenuframe(aID){
  2.     if (document.getElementById(aID).contentDocument){
  3.      return document.getElementById(aID).contentDocument;
  4.     }
  5.     else {
  6.     return document.frames[aID].document;
  7.     }
  8.   }


la balise contenuframe :ange:  :ange:

n°474319
Mara's dad
Yes I can !
Posté le 01-08-2003 à 11:36:06  profilanswer
 

http://msdn.microsoft.com/library/ [...] gnmode.asp
 

Citation :

You cannot execute script when the value of the designMode property is set to On.


 
Mais, c'est pas grave, j'ai la solution :
 
http://www.surleau.com/test/hobbes/main.html
 
En fait il ne faut pas mettre le designMode à on, mais il faut mettre contenteditable="true" dans le body de la frame (mid.html)
 
main.html

<html>
<head>
</head>
<body>
<iframe width=100% src="mid.html" name="frame_texte" id="frame_HTML" width="300" height="200" class="texte_HTML" style="color: #4382C0; font-family: Arial, Geneva,  Helvetica; font-size=12 px; border:1 solid #D4DCEB"></iframe>  
<form id="test2">
<input type="text" id="index"><br>
<input type="text" id="couleur"><br>
<input type="text" id="col"><br>
</form>
</body>
</html>


 
mid.html

<html>
<head>
<script>
function get_info( obj )
{
 window.parent.document.getElementById( 'index' ).value=obj.sourceIndex;
 window.parent.document.getElementById( 'couleur' ).value=obj.borderColor;
 window.parent.document.getElementById( 'col' ).value=obj.cols;
}
</script>
</head>
<body contenteditable="true">
 
<TABLE oncontrolselect="get_info( this )" borderColor="#aa66cc" cellSpacing="0" cellPadding="0" border="1" cols="2" >
<TBODY>
<TR>
<TD>cellule</TD>
<TD>cellule</TD></TR>
<TR>
<TD>cellule</TD>
<TD>cellule</TD>
</TR>
</TBODY>
</TABLE>
 
qzq<FONT color=#558866>  
 
 
</body>
</html>


 
J'ai appris plein de choses. Je suis, moi aussi en train de concevoir un site modifiable par un interface WEB.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°474339
hobbes
Posté le 01-08-2003 à 11:53:16  profilanswer
 

exact je l'ai lu aussi content que t appris qqu chose mais le truc bizarre c que le script il s'éxécute dans ie5.5..... :pfff:

n°474342
hobbes
Posté le 01-08-2003 à 11:55:51  profilanswer
 

merci pour ta soluce...
 :hello:

n°474378
hobbes
Posté le 01-08-2003 à 12:37:09  profilanswer
 

ben alors ça sert à quoi designMode?????? :??:  :??:

n°475501
Mara's dad
Yes I can !
Posté le 02-08-2003 à 01:04:23  profilanswer
 

hobbes a écrit :

ben alors ça sert à quoi designMode?????? :??:  :??:  


Aucune idée !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  un code qui marche sous ie5.5 mais pas sous ie6

 

Sujets relatifs
[VB6] Datagrid et ajout d'enregistrement via code[HTML] Comment éviter de copier-coller du code sur chaque page ?
Prob important ! Mon code ne s'exécute plus !ecire a la suite d un fichier texte pourquoi mon exemple ne marche pas
[Java] cmt ça marche un tableau de byte?[C] Peut-on conscidèrer ce bout de code correct ?
[ASP + VB.net] Séparer HTML et codeRecuperer le code PHP
[PHP] Condition qui marche pas ( BOOL )Moteur de recherche : Prquoi ça marche pas?
Plus de sujets relatifs à : un code qui marche sous ie5.5 mais pas sous ie6


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR