un code qui marche sous ie5.5 mais pas sous ie6 - HTML/CSS - Programmation
Marsh Posté le 30-07-2003 à 16:01:44
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.
Marsh Posté le 30-07-2003 à 16:08:30
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
si je suis dans ie 6 ça marche pas le script s'execute pas
Marsh Posté le 30-07-2003 à 16:17:54
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.
Marsh Posté le 30-07-2003 à 16:26:14
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
Marsh Posté le 30-07-2003 à 16:42:03
en fait ma couleur de brdure n'est pas à l'interieure d'un style....
Marsh Posté le 31-07-2003 à 14:30:24
<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.. désolé pour le retard du code............"
Marsh Posté le 31-07-2003 à 16:24:22
main.html :
<hml> |
mid.html
<html> |
Ca marche très bien quand c'est bien écrit !
La preuve là : http://www.surleau.com/test/hobbes/main.html
Marsh Posté le 31-07-2003 à 16:56:58
Merci beaucoup Mara's dad pour tout le mal que tu t'es donné c'est vraiment trop cool de ta part 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
Marsh Posté le 31-07-2003 à 17:16:48
C'est quoi le mode design ? ? ? ? ?
Marsh Posté le 01-08-2003 à 09:34:55
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é...
Marsh Posté le 01-08-2003 à 09:38:34
Bon, et tu l'active coment ?
Marsh Posté le 01-08-2003 à 10:16:46
tiens regarde c cette petite fonction
Code :
|
Marsh Posté le 01-08-2003 à 10:22:02
Code :
|
la balise contenuframe
Marsh Posté le 01-08-2003 à 11:36:06
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> |
mid.html
<html> |
J'ai appris plein de choses. Je suis, moi aussi en train de concevoir un site modifiable par un interface WEB.
Marsh Posté le 01-08-2003 à 11:53:16
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.....
Marsh Posté le 02-08-2003 à 01:04:23
hobbes a écrit : ben alors ça sert à quoi designMode?????? |
Aucune idée !
Marsh Posté le 30-07-2003 à 15:58:59
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