[Fort Müller] take 3
Bonjour tout le monde :)
Bon j'ai eu l'occasion ces derniers temps de me pencher longuement sur XPFE, j'ai donc du me replonger dans le JavaScript, le DOM, et tout ce qui va avec, et j'ai trouver quelque chose qui résoud un petit probleme sous mozilla qui m'enerve assez fréquement.
Quand on utilise les boutons pour inserrer les balises de formatage, d'une part, le curseur se replace un peu ou il veut, d'autre part (plus génant) quand il y a un scroll dans le TEXTAREA, il remonte systematiquement tout en haut aprés l'insertion des balises...
En retouchant un tout petit peu, le bout de code incriminé:
@++
Bon j'ai eu l'occasion ces derniers temps de me pencher longuement sur XPFE, j'ai donc du me replonger dans le JavaScript, le DOM, et tout ce qui va avec, et j'ai trouver quelque chose qui résoud un petit probleme sous mozilla qui m'enerve assez fréquement.
Quand on utilise les boutons pour inserrer les balises de formatage, d'une part, le curseur se replace un peu ou il veut, d'autre part (plus génant) quand il y a un scroll dans le TEXTAREA, il remonte systematiquement tout en haut aprés l'insertion des balises...
En retouchant un tout petit peu, le bout de code incriminé:
... { txtObj.value = txtObj.value.substr(0, txtObj.selectionStart) + Tag + txtObj.value.substr(txtObj.selectionStart, txtObj.selectionEnd-txtObj.selectionStart) + closeTag + txtObj.value.substr(txtObj.selectionEnd); } ...de cette façon:
... { // position du scroll oldPos = txtObj.scrollTop; oldHght = txtObj.scrollHeight; // position du curseur pos = txtObj.selectionEnd + Tag.length + closeTag.length; txtObj.value = txtObj.value.substr(0, txtObj.selectionStart) + Tag + txtObj.value.substr(txtObj.selectionStart, txtObj.selectionEnd-txtObj.selectionStart) + closeTag + txtObj.value.substr(txtObj.selectionEnd); // repositionnement cuseur aprés la balise fermante // peut être grandemant amélioré ;-) txtObj.selectionStart = pos; txtObj.selectionEnd = pos; // calcul et application de la nouvelle bonne postion du scroll newHght = txtObj.scrollHeight - oldHght; txtObj.scrollTop = oldPos + newHght; } ...On obtient un comportement identique du javascript sur IE, et FireFox, j'ai pas poussé les teste trés loin, mais ça semble fonctionner plutot pas mal :)
@++
♫ Il suffirait de presque rien...
10 réponses
Au passage, j'en profite pour rajouter que ça serait pas mal que le TEXTAREA soit un peu plus grand en hauteur ;-)
♫ Il suffirait de presque rien...
Il est sur mon perso pas sur mon pro :o)
Je vais attendre qu'ils nous l'impose ici pour le mettre chez moi, entre temps ils devront resoudre pas mal de probleme et je saurais a qui m'adresser pour les miens apres :o)
. . Ce post a été écrit entièrement
\_/ avec des molécules recyclées
Je vais attendre qu'ils nous l'impose ici pour le mettre chez moi, entre temps ils devront resoudre pas mal de probleme et je saurais a qui m'adresser pour les miens apres :o)
. . Ce post a été écrit entièrement
\_/ avec des molécules recyclées
Je crois que c'est plus sage en effet :)
Vivement debut septembre qu'on ai plus de réaction suite à l'installation du SP2, je serais ravi de savoir si ce qui t'es arrivé est assez isolé, ou si ça risque de poser probleme aux trois quarts des utilisateurs.
J'ai l'impression qu'installer le SP2 sur un machine juste pour la mettre a jour n'est pas immaginable pour le moment, visiblement, il faut mieux installer le SP2 sur un systeme fraichement installé... :-/
Vivement debut septembre qu'on ai plus de réaction suite à l'installation du SP2, je serais ravi de savoir si ce qui t'es arrivé est assez isolé, ou si ça risque de poser probleme aux trois quarts des utilisateurs.
J'ai l'impression qu'installer le SP2 sur un machine juste pour la mettre a jour n'est pas immaginable pour le moment, visiblement, il faut mieux installer le SP2 sur un systeme fraichement installé... :-/
♫ Il suffirait de presque rien...
D'autant que au niveau securite je suis tranquille, rien ne peux arriver sur ce PC, tout est redirige sur ma slack sur mon serveur :o) Et en plus j'yi un routeur/fw donc...C'etait plus pour le fun et pour l'USB2 (que j'arrive pas a faire reconnaitre depuis des plombes)
Je pense que tu as raison pour l'install aussi...Je te raconte pas pour ceux qui vont l'avoir directement par le update...
Autre chose amusante, il "bouffe" tous les patch XP dans le panneau de desinstallation ...
. . Ce post a été écrit entièrement
\_/ avec des molécules recyclées
Je pense que tu as raison pour l'install aussi...Je te raconte pas pour ceux qui vont l'avoir directement par le update...
Autre chose amusante, il "bouffe" tous les patch XP dans le panneau de desinstallation ...
. . Ce post a été écrit entièrement
\_/ avec des molécules recyclées
Ben, oui, logiquement tout ces patch sont dans le SP2 maintenant,
C'est pas plus mal dans un sens, la derniere fois que j'y ai jeter un oeil, je n'avais plus qu'une longue liste de patch dedans ;)
Par contre, hote moi d'un doute... quand tu désinstalles le SP2, tu as besoin de tout repacher ?
C'est pas plus mal dans un sens, la derniere fois que j'y ai jeter un oeil, je n'avais plus qu'une longue liste de patch dedans ;)
Par contre, hote moi d'un doute... quand tu désinstalles le SP2, tu as besoin de tout repacher ?
♫ Il suffirait de presque rien...
Yop, pas dramatique pour toi puisque tu sais ou tu mes les pieds :-)
Mais si ça désinstalles les patch, et que ça pose tant que ça de probléme, on risque fort d'avoir une seconde fois, la floppé de vers et autres...
J'espere pas, mais, avoir l'effet totalement inverse que celui attendu par microsoft, ce n'est pas totalement exclus :(
Mais si ça désinstalles les patch, et que ça pose tant que ça de probléme, on risque fort d'avoir une seconde fois, la floppé de vers et autres...
J'espere pas, mais, avoir l'effet totalement inverse que celui attendu par microsoft, ce n'est pas totalement exclus :(
♫ Il suffirait de presque rien...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je n'ai pas constaté les "phénomènes" que tu décris ci-dessus (enfin je n'y ai pas trop fait attention), mais ce qui me gêne (silonpeudir) avait été évoqué ici :
http://www.commentcamarche.net/forum/affich-575028
Exemple :
En voulant mettre un texte en gras et en italique, j'obtiens ceci :
<gras>texte</gras><ital></ital>
http://www.commentcamarche.net/forum/affich-575028
Exemple :
En voulant mettre un texte en gras et en italique, j'obtiens ceci :
<gras>texte</gras><ital></ital>
arf , oui ça c'est encore autre chose!
Dans le poste du dessus, c'était même quand tu fesais la premiere insertion (<gras>)
faire en sorte que ça reste selectionner, ça peut etre pas mal, mais ça dépend de la façon dont tu rédiges tes messages, si tu ecrit tout et qu'ensuite tu mets en forme, c'est valable, si tu met en forme au fur et a mesure, ça ne l'est plus...
C'est justement ce que je sous entendais ici:
Le probleme du scroll, c'est uniquement pour mozilla, sous IE, ça se passe sans soucis, c'est peut-etre pour ça que tu ne le vois pas :)
Dans le poste du dessus, c'était même quand tu fesais la premiere insertion (<gras>)
faire en sorte que ça reste selectionner, ça peut etre pas mal, mais ça dépend de la façon dont tu rédiges tes messages, si tu ecrit tout et qu'ensuite tu mets en forme, c'est valable, si tu met en forme au fur et a mesure, ça ne l'est plus...
C'est justement ce que je sous entendais ici:
// repositionnement cuseur aprés la balise fermante // peut être grandemant amélioré ;-) txtObj.selectionStart = pos; txtObj.selectionEnd = pos;
Le probleme du scroll, c'est uniquement pour mozilla, sous IE, ça se passe sans soucis, c'est peut-etre pour ça que tu ne le vois pas :)
♫ Il suffirait de presque rien...
Ben tiens, pour corriger ce problème, le code ci-dessous :
Et le code suivant pourrait être supprimé :
... if (ie==1) { if (txtObj.createTextRange && txtObj.caretPos) { var caretPos = txtObj.caretPos; if ( txtObj.caretPos.text == '') { caretPos.text = ( ( enclose ) ? Tag + closeTag : Tag ); //caretPos.text.charat(caretPos.text.length - 1) = ' ' ? Tag + closeTag + ' ' : Tag + closeTag; } else { caretPos.text = ( ( enclose ) ? Tag + caretPos.text + closeTag : Tag + caretPos.text ); } markSelection ( caretPos ); } else if (txtObj.getSelection && txtObj.caretPos) { txtObj.focus(); var caretPos = txtObj.caretPos; caretPos.text = caretPos.text.charat(caretPos.text.length - 1) = ' ' ? Tag + closeTag + ' ' : Tag + closeTag; markSelection ( caretPos ); } else { txtObj.value += Tag + closeTag; } } ...pourrait être remplacé par celui-ci :
... if (ie==1) { var str = document.selection.createRange().text; txtObj.focus(); var sel = document.selection.createRange(); sel.text = Tag + str + closeTag; return; } ...
Et le code suivant pourrait être supprimé :
onkeyup=markSelection(this); onclick=markSelection(this); onselect=markSelection(this);(balise TEXTAREA)
function markSelection ( txtObj ) { if ( txtObj.createTextRange ) { txtObj.caretPos = document.selection.createRange().duplicate(); //isSelected = true; } else if (txtObj.getSelection) { txtObj.caretPos = document.getSelection(); } else return; }:-)
Moi je vote POUR aussi !
Jeff \--Webmaster@CCM--/
voyons voir test yes!
Ça va être dur de s'habituer à ne plus écrire les balises à la main. :-D
Eaulive...
Vaut mieux un p'tit piment qu'un avion en plastique
Ça va être dur de s'habituer à ne plus écrire les balises à la main. :-D
Eaulive...
Vaut mieux un p'tit piment qu'un avion en plastique