Solution pour le texte de saisie wmode sous FireFox [beta]
Par Kenju, jeudi 15 juin 2006 à 23:37 :: Flash :: #4 :: rss
[Cette version BETA est optimisée uniquement pour les PC et claviers français, une version stable est en préparation ;)]
Beaucoup de flasheurs ont été confrontés au bug du Flash Player qui consistait à foirer leurs saisies de caractères spéciaux ("@", ".", ":", "!",etc...) dans FireFox en mode transparence ou opaque (wmode dans le code html).
Un bug qui date mais qui n'avait toujours pas trouvé de solution visiblement. (notons que le player flash 9 dans sa version bêta ne corrige toujours pas le bug...)
Étant confronté aussi au problème, j'ai d'abord remarqué que le copié/collé fonctionnait:
Beaucoup de flasheurs ont été confrontés au bug du Flash Player qui consistait à foirer leurs saisies de caractères spéciaux ("@", ".", ":", "!",etc...) dans FireFox en mode transparence ou opaque (wmode dans le code html).
Un bug qui date mais qui n'avait toujours pas trouvé de solution visiblement. (notons que le player flash 9 dans sa version bêta ne corrige toujours pas le bug...)
Étant confronté aussi au problème, j'ai d'abord remarqué que le copié/collé fonctionnait:
> Écoute des combinaisons de touche
> Enregistrement du texte entré dans un variable à chaque combinaison (AltGr+caractère)
> Ajout depuis le code du caractère adéquat à la suite de ce texte
> Rétablissement du texte souhaité
> Sans oublier d'avoir restreint les caractères affichés en cas de bug
(textField.restrict = "^plage de caractère restreint")
Texte de saisie en mode transparence sans le code
Texte de saisie en mode transparence avec le code
Le code est juste a coller au niveau des champs texte et c'est tout ^^:
> Enregistrement du texte entré dans un variable à chaque combinaison (AltGr+caractère)
> Ajout depuis le code du caractère adéquat à la suite de ce texte
> Rétablissement du texte souhaité
> Sans oublier d'avoir restreint les caractères affichés en cas de bug
(textField.restrict = "^plage de caractère restreint")
Texte de saisie en mode transparence sans le code
Texte de saisie en mode transparence avec le code
Le code est juste a coller au niveau des champs texte et c'est tout ^^:
// Contournement de la restriction FireFox des caractères speciaux en wmode="xxx"
// Par Kenjutsu pour Media-Box.net
// Version Beta
// DECLARATION DES VARIABLES
var altGr = 0;
var Maj = 0;
var cible_text = "";
var derniere_touche = "";
// ECOUTEUR DES TOUCHES ENFONCEES
var monEcouteur:Object = new Object();
monEcouteur.onKeyDown = myOnKeyDown;
monEcouteur.onKeyUp = myOnKeyUp;
Key.addListener(monEcouteur);
// ANALYSE DES COMBINAISONS DE TOUCHE POUR CARACTERES SPECIAUX
function myOnKeyDown() {
set (Selection.getFocus() + ".restrict", "a-z A-Z 1-9 ^!@#%.."); // Restriction des caractères non pris en compte.
derniere_touche = Key.getCode();// recuperation du code de la dernière touche enfoncé
switch (derniere_touche) {
case 18 :
cible_text = eval(Selection.getFocus()+".text"); // Sauvegarde du texte dès qu'un caractère special est "potentiellement" appellé.
altGr = 1;
break;
case 16 :
cible_text = eval(Selection.getFocus()+".text"); // Sauvegarde du texte dès qu'un caractère special est "potentiellement" appellé.
Maj = 1;
break;
default :
cible_text = eval(Selection.getFocus()+".text"); // Sauvegarde du texte dès qu'un caractère special est "potentiellement" appellé.
comboTouche(derniere_touche)
break;
}
}
function myOnKeyUp() {
if (derniere_touche == 18 || derniere_touche == 17) { // deux code car la touche Alt Gr en renvoi deux...
altGr = 0;
}else if (derniere_touche == 16) {
Maj = 0;
}
}
// REPLACEMENT DU TEXTE SAUVEGARDE
function remplacement(){
set (Selection.getFocus() + ".text", "");
set (Selection.getFocus() + ".text", cible_text);
Selection.setSelection(1000,1000);
this[Selection.getFocus()+".text"];
altGr = 0;
Maj = 0;
}
function comboTouche(derniere_touche){
if (altGr == 1) {
switch (derniere_touche) {
case 48 :
cible_text += "@"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 51 :
cible_text += "#"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
}
}else if (Maj == 1) {
switch (derniere_touche) {
case 188 :
cible_text += "?"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 190 :
cible_text += "."; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
}
}else if (altGr == 0 && Maj == 0) {
switch (derniere_touche) {
case 52 :
cible_text += "'"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 188 :
cible_text += ","; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 190 :
cible_text += ";"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 223 :
cible_text += "!"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 191 :
cible_text += ":"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 54 :
cible_text += "-"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 53 :
cible_text += "("; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
case 219 :
cible_text += ")"; //ajout du caractère arobase a la suite du texte sauvegardé.
remplacement();
break;
}
}
}
Kenj.
FlashBlog
Commentaires
1. Le jeudi 6 juillet 2006 à 13:45, par Bucheron
2. Le vendredi 7 juillet 2006 à 03:05, par Kenjutsu
3. Le samedi 15 juillet 2006 à 08:23, par Y.T.K.
4. Le mercredi 9 août 2006 à 09:22, par miloup
5. Le vendredi 11 août 2006 à 13:01, par Kenjutsu
6. Le vendredi 18 août 2006 à 03:51, par Kenjutsu
7. Le samedi 2 septembre 2006 à 16:24, par cynapce
8. Le lundi 11 septembre 2006 à 01:21, par retro
9. Le vendredi 22 septembre 2006 à 15:08, par nuages
10. Le vendredi 22 septembre 2006 à 15:23, par kenjutsu
11. Le lundi 23 octobre 2006 à 11:27, par Etienne
12. Le lundi 23 octobre 2006 à 20:53, par Kenjutsu
13. Le lundi 23 octobre 2006 à 21:12, par Etienne
14. Le vendredi 3 novembre 2006 à 16:00, par aruno
15. Le lundi 20 novembre 2006 à 22:14, par k-ny
16. Le mardi 21 novembre 2006 à 16:18, par Efreet
17. Le mardi 21 novembre 2006 à 16:20, par Efreet
18. Le mercredi 22 novembre 2006 à 11:38, par Kenjutsu
19. Le mercredi 22 novembre 2006 à 17:29, par pilou34
20. Le jeudi 23 novembre 2006 à 11:33, par Efreet
21. Le jeudi 23 novembre 2006 à 12:31, par Kenjutsu
22. Le jeudi 23 novembre 2006 à 14:32, par Efreet
23. Le jeudi 23 novembre 2006 à 21:11, par nalnalital
24. Le jeudi 23 novembre 2006 à 23:10, par Kenjutsu
25. Le vendredi 24 novembre 2006 à 08:41, par Efreet
26. Le vendredi 24 novembre 2006 à 08:42, par Efreet
27. Le vendredi 24 novembre 2006 à 13:19, par Kenjutsu
28. Le vendredi 24 novembre 2006 à 13:38, par Efreet
29. Le vendredi 24 novembre 2006 à 13:57, par Kenjutsu
30. Le lundi 4 décembre 2006 à 16:43, par cabsii
31. Le vendredi 15 décembre 2006 à 09:49, par Funktastique
32. Le vendredi 2 février 2007 à 12:08, par Se7eN
33. Le mercredi 7 février 2007 à 15:32, par sebprod
34. Le mercredi 7 février 2007 à 19:34, par Kenjutsu
35. Le mardi 13 février 2007 à 16:41, par Efreet
36. Le mardi 13 mars 2007 à 14:14, par Nicolas
37. Le jeudi 10 mai 2007 à 15:10, par Steve
38. Le jeudi 10 mai 2007 à 15:36, par Steve
39. Le mardi 15 mai 2007 à 01:21, par pico33
40. Le vendredi 8 juin 2007 à 14:12, par niwyll
41. Le mercredi 13 juin 2007 à 22:06, par bomsky
42. Le vendredi 31 août 2007 à 11:53, par Norel
43. Le vendredi 31 août 2007 à 11:56, par Norel
44. Le dimanche 14 octobre 2007 à 12:54, par tidou
45. Le samedi 1 décembre 2007 à 23:00, par Johan
46. Le jeudi 6 décembre 2007 à 00:36, par Kenjutsu
47. Le mercredi 30 janvier 2008 à 19:39, par Mista
48. Le jeudi 20 mars 2008 à 14:23, par Ludovic
49. Le lundi 21 avril 2008 à 16:01, par MoZ
50. Le mardi 13 mai 2008 à 14:36, par stef
51. Le mardi 13 mai 2008 à 17:44, par stef
52. Le jeudi 26 juin 2008 à 22:33, par IcePanther
53. Le samedi 28 juin 2008 à 08:44, par Jamy
54. Le vendredi 12 septembre 2008 à 09:34, par gpto
55. Le jeudi 5 février 2009 à 01:36, par Doc
56. Le lundi 4 mai 2009 à 12:34, par freemh
57. Le lundi 2 novembre 2009 à 23:49, par kariboox
58. Le mardi 3 novembre 2009 à 00:27, par kariboox
59. Le samedi 9 janvier 2010 à 14:52, par Tonio
60. Le mercredi 5 mai 2010 à 18:45, par Jeux
61. Le vendredi 20 août 2010 à 13:38, par Giochi per ragazze
Ajouter un commentaire