Problème de focus... [Résolu] -- Script à emporter tout chaud...

Problème de focus... [Résolu] -- Script à emporter tout chaud... - HTML/CSS - Programmation

Marsh Posté le 15-03-2003 à 19:09:32    

Voilà, comme certains le savent, je suis en train de développer un forum. Etant donné que je ne suis pas très satisfait des scripts d'insertion de balises existants, et que de toutes manières, j'aime tout comprendre et tou faire moi-même, je me suis mis à la tâche.
 
Pour le moment, je lutte pour pouvoir insérer un smiley ou un code UBB à l'intérieur d'un texte et non à la fin. Je pense avoir parfaitement compris comment ça marche, et d'ailleur tout marche bien sauf que....
 
1) Quand on clique pour la première fois sur un smiley juste après le chargement de la page, rien de se passe et il faut cliquer une deuxième fois sur le smiley pour le faire apparaitre (ce bug existe aussi sur le forum HFR, mais ça ne me console pas du tout). Ce problème est résolu également !
 
2) Quand je réutilise mes fonctions d'insersion de smileys avec mes codes UBB, je perds le focus après l'insertion de la première balise ouvrante, puis je le récupère avec la balise fermante. EDIT Ce problème est résolu !
 
La page de test :
 
http://tousleschats.free.fr/hermes [...] ondre.html
 
le javascript (entièrement écrit par moi et en français s'il vous plait) : http://tousleschats.free.fr/hermes [...] epondre.js
 
La validation XHTML 1.1 : http://validator.w3.org/check?uri= [...] etest.html
 
edited...  :D


Message édité par Hermes le Messager le 19-04-2003 à 14:03:45
Reply

Marsh Posté le 15-03-2003 à 19:09:32   

Reply

Marsh Posté le 15-03-2003 à 19:15:28    

HotShot a écrit :

Fallait pas acheter Ford...


 
Pas le moment de faire de l'humour STP, ça m'énnerve trop ce problème (surtout quand j'ai l'impression d'avoir tout fait correctement, et qu'il s'agit d'un bug lamentable d'IE, et qu'il va falloir utiliser un truc bien crade pour passer outre...)
 
Mais peut-être que je me trompe...  :ange:

Reply

Marsh Posté le 15-03-2003 à 19:18:35    

HotShot a écrit :

Moz & Op réagissent comment ?  


 
Eux on s'en fout, la fonction d'insert des balises tient en deux lignes, et il n'y a évidemment aucun bug. Je fais une détection pour IE. On ne peut insérer un smiley au mileu d'un texte qu'avec cette merde d'IE...

Reply

Marsh Posté le 15-03-2003 à 19:30:37    

Bon, j'ai résolu le deuxième problème.  :heink: Ce con d'IE perd le focus si on utilise onmousedown. Il préfère le onclick. ouééé...
 
Mais pour le premier problème, j'ai bien l'impression que c DMC... A moins que l'un d'entre vous aient d'un seul coup un seul, une idée de génie...  :whistle:  

Reply

Marsh Posté le 15-03-2003 à 19:53:42    

Pour le moment, je fais comme sur HFR (c'est pas Joce qu'à fait le BBcode alors ne vous emballez pas), à savoir que lors du premier click sur le bouton, je me contente d'établir le focus avec le textarea...  :whistle:  
 
C'est un peu lamentable... Vraiment personne a une idée. (Faut dire que l'heure est mal choisie, tout le monde doit bouffer/faire la fête)...  :D  

Reply

Marsh Posté le 15-03-2003 à 21:32:43    

Bon, eh bien je vous informe que j'ai résolu mon problème et sans utiliser des trucs pourris. Le résultat est un script qui tient le focus quel que soit le navigateur... (avec en plus toutes les fonctionnalités en plus sous IE)
 
J'ai passé la journée à réaliser ce script, et je vous le livre donc. Chaque ligne est de moi, je n'ai rien recopié (me suis tout juste un peu inspiré, et encore).
 
Je vous anonce que ce script est compatible :
 
(Mozilla 1+, Opera 6+ ) --> sauf pour l'insertion DANS le texte et non APRES le texte ... et IE 5+ (toutes possibilités dispos).  
 
Il est également fait pour supporter la norme XHTML 1.1 (et donc toutes les autres évidemment) Et oui... Je me suis débarassé au passage de tout ce qui est name pour la balise form...  
De plus, il est documenté en français, ce qui est un atout pour ceux qui veulent essayer de comprendre (bon courage ceci-dit... [:totozzz] )
 
Voilà, je vous livre donc mon travail.
 
La page de test :
 
http://tousleschats.free.fr/hermes [...] ondre.html
 
le javascript (entièrement écrit par moi et en français s'il vous plait) : http://tousleschats.free.fr/hermes [...] epondre.js
 
La validation XHTML 1.1 : http://validator.w3.org/check?uri= [...] etest.html


Message édité par Hermes le Messager le 19-04-2003 à 14:10:22
Reply

Marsh Posté le 15-03-2003 à 22:17:40    

Je viens de jeter un oeil sur editPost.js de ce forum.
 
ça fait un peu pitié le :
 
var style = new Array('g','/g','i','/i','s','/s','email','/email','lien=','/lien','img','/img','quote','/quote','fixed','/fixed','cpp','/cpp','url','/url';);
 
Comme réutilisation du code après... On a vu mieux.  :whistle:  
 
 [:totozzz]  
 
Et la complexité du code pour arriver à un truc buggé... Remarque, ça vient de www.icilalune.com , tout s'explique...  :D


Message édité par Hermes le Messager le 15-03-2003 à 22:18:25
Reply

Marsh Posté le 16-03-2003 à 12:36:10    

y a encore une merde :D
Exemple:
- click gras
- click italique
- click gras
 
le gras se ferme alors que l'italique n'est pas fermé. C'est pas XTML compliant ça! il faut retenir l'ordre des balises ouvertes, sinon c'est pas bon.

Reply

Marsh Posté le 16-03-2003 à 12:50:09    

:p

Reply

Marsh Posté le 16-03-2003 à 13:21:18    

gizmo a écrit :

y a encore une merde :D
Exemple:
- click gras
- click italique
- click gras
 
le gras se ferme alors que l'italique n'est pas fermé. C'est pas XTML compliant ça! il faut retenir l'ordre des balises ouvertes, sinon c'est pas bon.


 
ça doit être faisable, ça, tiens... [:meganne]  
 
Je vais y réfléchir...  :D  
 
En attentant : [:wisetechi]


Message édité par Hermes le Messager le 16-03-2003 à 13:21:59
Reply

Marsh Posté le 16-03-2003 à 13:21:18   

Reply

Marsh Posté le 16-03-2003 à 13:32:56    

HotShot a écrit :

Un attentat [:totoz]


 
G encore corrigé 2 3 bugs ce matin lié aux couleurs. Figurez vous que seul un onclick permet de solliciter selection.createRange( ) ... onmousedown ne peut rien dans ce cas...

Reply

Marsh Posté le 16-03-2003 à 19:43:46    

:bounce: Pour ceux qui font des forums. ;)

Reply

Marsh Posté le 16-03-2003 à 19:51:02    

en effet, très interessant  :love:

Reply

Marsh Posté le 17-03-2003 à 00:19:03    

pompage en cours  :whistle:  
 
 
Non je déconne :D  
je suis en train d'apprendre un peu plus serieusement le JS ..

Reply

Marsh Posté le 17-03-2003 à 00:32:54    

Skylight a écrit :

pompage en cours  :whistle:  
 
 
Non je déconne :D  
je suis en train d'apprendre un peu plus serieusement le JS ..


 
Tu peux pomper, c'est pour cela que je le mets à dispo. ;) C'est idiot de toutes manières de chercher à garder ce genre de trucs pour soi.

Reply

Marsh Posté le 17-03-2003 à 00:34:36    

Hermes le Messager a écrit :


 
Tu peux pomper, c'est pour cela que je le mets à dispo. ;) C'est idiot de toutes manières de chercher à garder ce genre de trucs pour soi.

Ben déjà pour protéger un JS ...  :whistle:  
 
 
et puis rien de mieux quand tu fais tout toi. Pr mon forum c'est plus une question de flemmardise, mais là je me suis mis au JS, mais pas le JS crade des sites bata.. mais du JS propre et compatible, et surtout, pas indispensable.

Reply

Marsh Posté le 17-03-2003 à 00:36:27    

Skylight a écrit :

Ben déjà pour protéger un JS ...  :whistle:  
 
 
et puis rien de mieux quand tu fais tout toi. Pr mon forum c'est plus une question de flemmardise, mais là je me suis mis au JS, mais pas le JS crade des sites bata.. mais du JS propre et compatible, et surtout, pas indispensable.


 
Tout tient dans ces derniers mots. Un JS ne doit JAMAIS être indispensable. Il peut servir pour le confort... etc...
 
EDIT : pour ce qui est du JS "pas crade", j'ai quand même fait une détection pour IE. C'est la seule soluce si on veut offrir l'insert du smiley au bon endroit + le createRange.


Message édité par Hermes le Messager le 17-03-2003 à 00:37:52
Reply

Marsh Posté le 18-03-2003 à 23:37:49    

Simple bug :
lance ta page de test, puis clique sur gras.
ca mets un tag G
sans rien toucher a autre chose, reclique sur gras
 
la balise fermante se place avant :D

Reply

Marsh Posté le 18-03-2003 à 23:51:35    

Skylight a écrit :

Simple bug :
lance ta page de test, puis clique sur gras.
ca mets un tag G
sans rien toucher a autre chose, reclique sur gras
 
la balise fermante se place avant :D


 
Oui, je sais, mais c'est pas un bug dans le sens où la balise fermante se met à l'emplacement du curseur. ;)
 
Le bug vient d'IE et de sa gestion du focus. ;)
 
Et d'ailleurs, c'est pas complêtement illogique non plus.
 
En effet, avant d'écrire dans un textarea, tu dois cliquer dedant normalement pour lui donner le focus. Si tu cliques sur un bouton AVANT de donner le focus au textarea, il est normal que les caractères s'inscrivent et qu'ENSUITE le focus soit donné au textarea. Le problème, c'est qu'IE donne toujours le focus à l'emplacement du premier caractère et jamais du dernier. Contre ça on ne peut rien, il n'y a pas de méthode pour positionner le curseur à tel ou tel endroit (sinon, je l'aurais fait).
 
 :D


Message édité par Hermes le Messager le 18-03-2003 à 23:59:55
Reply

Marsh Posté le 19-03-2003 à 12:43:21    

OK :)
 
mais ca parait logique, mais au niveau intuition, beaucoup vont te dire "ce bug". ;)

Reply

Marsh Posté le 19-03-2003 à 12:44:49    

Skylight a écrit :

OK :)
 
mais ca parait logique, mais au niveau intuition, beaucoup vont te dire "ce bug". ;)


 
S'ils préfèrent cliquer une fois pour rien sur un smiley et perdre le focus sous Mozilla dès qu'il se servent d'un bouton, rien ne les empêche d'utiliser le script d'ici la lune...  [:totozzz]
 
EDIT : autre chose, ma méthode est la plus logique, parce que si tu édites ton message pour ajouter un smiley, il se mettra à la fin du texte. Tandis qu'avec le scritp d'HFR, il faudra cliquer une première fois sur le smiley et si tu recliques une deuxième fois, le smiley se mettra au début. :D


Message édité par Hermes le Messager le 19-03-2003 à 12:52:48
Reply

Marsh Posté le 19-03-2003 à 13:09:56    

ton truc n'as rien à voir avec HFR :D
 
mais sinon, un petit OnLoad="textearea.focus()" dans le body serait pas mal pour ton truc ;)

Reply

Marsh Posté le 19-03-2003 à 13:22:53    

Skylight a écrit :

ton truc n'as rien à voir avec HFR :D
 
mais sinon, un petit OnLoad="textearea.focus()" dans le body serait pas mal pour ton truc ;)


 
Oui, je compte le rajouter, mais ce sera pas toujours surle textarea. Dans le cas d'un nouveau sujet, ce sera sur le titre. Pour une simple réponse, ce sera sur le textarea. ;)

Reply

Marsh Posté le 19-03-2003 à 18:58:23    

Hermes le Messager a écrit :


 
Oui, je compte le rajouter, mais ce sera pas toujours surle textarea. Dans le cas d'un nouveau sujet, ce sera sur le titre. Pour une simple réponse, ce sera sur le textarea. ;)
 

Certes, mais je sous entendais l'obligation au navigateur de donner le focus à un élément de post ;)
 
D'ailleurs sur ce forum c'est le cas, comme tu le cites. :)

Reply

Marsh Posté le 19-03-2003 à 19:02:13    

Skylight a écrit :

Certes, mais je sous entendais l'obligation au navigateur de donner le focus à un élément de post ;)
 
D'ailleurs sur ce forum c'est le cas, comme tu le cites. :)


 
Il ne tient qu'à ceux qui utiliseront mon script de le rajouter là où bon leur semble.  :)  
 
C'est vrai qu'avec le focus donné à un élément du formulaire, ya plus aucun problème à ce moment là.

Reply

Marsh Posté le 19-04-2003 à 17:25:58    

sous mozilla ke sliley se rajoute a la fin :/

Reply

Marsh Posté le 19-04-2003 à 17:38:54    

forummp3 a écrit :

sous mozilla ke sliley se rajoute a la fin :/


 
voui... c comme ça...  [:totozzz]  
 
Tu connais un site ou un forum ou il se rajoute où tu veux ?  :whistle:  
 
Sinon, je sais qu'on peut faire des nouvelles choses depuis la version 1.3 de Moz, mais, j'attends avant de les implémenter. pour le moment, j'assure la compatibilité Moz 1+, IE 5+, Opera 6+ + tous les nav. basés sur eux...
 
PS : je reviens de ton forum : c'est sûr que toi tu n'as pas de problème avec l'insersion des smileys  :whistle: enfin, à condition d'avoir un clavier sous la main...  [:totozzz]


Message édité par Hermes le Messager le 19-04-2003 à 17:41:13
Reply

Marsh Posté le 19-04-2003 à 23:16:34    

Hermes le Messager a écrit :


 
 
 
PS : je reviens de ton forum : c'est sûr que toi tu n'as pas de problème avec l'insersion des smileys  :whistle: enfin, à condition d'avoir un clavier sous la main...  [:totozzz]  

:non: copier/coller,tu connais pas? :o
 
sinon c vrai que ya que sous mozilla que ca marche mal [:meganne]
 
je vais mettre ton script dans la prochaine version :)


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 20-04-2003 à 10:23:17    

forummp3 a écrit :

:non: copier/coller,tu connais pas? :o
 
sinon c vrai que ya que sous mozilla que ca marche mal [:meganne]
 
je vais mettre ton script dans la prochaine version :)


 
Sous Mozilla 1, Mon script est bien meilleur que celui d'HFR. Ici, on perd le focus dès qu'on clicke sur un smiley ou un bouton. (Mozilla 1.0).
 
 :D  
 
Sinon, je suis content si tu utilises mon script, cela veut dire que j'ai pas trop mal travaillé.  :)

Reply

Marsh Posté le 20-04-2003 à 11:10:47    

tu sais ce que tu pourrais faire de plus interessant:
 
fait en sorte que la personne voit le message "public" directement, et que le codage soit reserve pour toi dans ta base de donnee
 
et rajouter des trucs du style:
police, alignement,  
....bref comme dans word :) je crois que sur caramail y a un truc du meme genre:)

Reply

Marsh Posté le 20-04-2003 à 11:12:55    

Hermes le Messager a écrit :


 
Sinon, je suis content si tu utilises mon script, cela veut dire que j'ai pas trop mal travaillé.  :)  

Je vais surement le conseiller a d'autres personnes ton script :)


Message édité par forummp3 le 20-04-2003 à 11:13:05

---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 20-04-2003 à 11:24:55    

Slvn a écrit :

tu sais ce que tu pourrais faire de plus interessant:
 
fait en sorte que la personne voit le message "public" directement, et que le codage soit reserve pour toi dans ta base de donnee
 
et rajouter des trucs du style:
police, alignement,  
....bref comme dans word :) je crois que sur caramail y a un truc du meme genre:)


 
Oui, c'est une techno utilisée par yahoo, hotmail et pas mal d'autes. Ce qui ne me plais pas, c'est que c'est uniquement compatible IE (sous Mozilla, il y a des possibilités mais seulement à partir de la 1.3). Je n'ai pas envie de creuser un peu plus la fracture entre IE et les autres, puisque je suis moi même un fervent défenseur de Mozilla et Opera. :whistle:  
 
Par contre, je pourrais faire une petite fenêtre de prévisualisation en dessous ou au dessus qui se rafraichit en temps réel pour voir le résultat de ce que l'on écrit. J'ai déjà fait quelques tests. Le problème, c'est qu'opera gère les divs scrollables uniquement à partir de la version 7 et qu'en plus je trouve cela finalement un peu lourd.
 
Bref, je crois que pour tout cela, je vais attendre encore un an ou deux que les technos soient dispos sur toutes les plateformes.

Reply

Marsh Posté le 20-04-2003 à 11:52:32    

ie c est qund meme le plus utilise de tout les navigateurs, j aimerais bien voir les stats, je pense que c est carement etonnant!!
 
mais pour la compatibilite, c toi qui voit ensuite :)
 

Reply

Marsh Posté le 15-05-2003 à 19:56:59    

hermes,j'ai essayer de mettre ton script et ca ne marche pas :??:
 
j'ai bien mis repondre.js dans la page:
 

Citation :

<script type="text/javascript" src="js/repondre.js"></script>

et ca se trouve bien dans le bon repertoire.
 
ensuite j'ai mis onclick sur les atributs de l'image:
 

Citation :

<img src="smiley/hehe.gif" width="15" height="15" border="0"  onclick="javascript:insertion(' :D ';);">


 
puis sur le textarea:
 

Citation :

<textarea name="reponse" rows="10" cols="64" onselect="position_curseur();" onfocus="position_curseur();" onclick="position_curseur();" onkeyup="position_curseur();"></textarea>


 
j'ai oublié quelque chose? :??:


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 15-05-2003 à 21:16:53    

c bon c'etait juste le nom du textarea  :p


---------------
lecteur mp3 yvele's smilies jeux de fille
Reply

Marsh Posté le 20-03-2006 à 00:39:04    

Désolé de faire remonter ce topic mais comme je l'ai trouvé en faisant une recherche, qq1 d'autre peut retomber dessus comme moi.
 
Etant moi-même en train de programmer un forum, je me suis intéressé à ta fonction et j'ai trouvé un gros bug. Et comme ton forum est encore en ligne je me dis que tu ne l'as peut-être pas remarqué. ;)
 
Sélectionne un texte n'importe où dans ta fenêtre MAIS pas dans le message (par exemple : "Forum FZ" en haut de la page).
Clique sur un bouton de formatage (pour mettre en gras par exemple).
Pof, ça met [ g ] Forum FZ [ /g ] à la place.
Il ne faudrait remplacer la sélection que si elle est dans la fenêtre de message. ;)


Message édité par xman le 20-03-2006 à 00:39:58
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed