L’altra sera leggevo un commento scritto da Marcello, un lettore di JuliusDesign che mi chiedeva come risolvere il Bug di Firefox riguardo la gestione della famosa chiocciola @ in Flash per un campo di input con stage impostato wmode=transparent
Succede infatti durante l’inserimento della chiocciola (@) in un campo di input gestito con la trasparenza in flash, la trasformazione del carattere nella o accentata (ò)
La prima soluzione immediata è quella di non usare la trasparenza in Flash, quindi nel nostro codice HTML eliminare i parametri riferiti al wmode=transparent
Facile Julius, ma se ho necessità di utilizzare la trasparenza in Flash come devo fare?
Non c’è una vera e propria soluzione, ma possiamo risolvere il problema con un paio di righe in Actionscript mantenendo sempre la trasparenza in flash
Andiamo a vedere l’esempio in Flash e come procedere:
Una delle soluzioni che vi consiglio è quella di usare lo stesso ActionScript utilizzando la funzione Key.getAscii(); per intercettare la pressione del tasto ò
Ecco il codice Actionscript 2:
keyPresser = new Object();
keyPresser.onChanged = function(my_text:TextField) {
if (((Key.getAscii())) == 242) {
my_text.text = my_text.text.slice(0, my_text.text.length-1)+"@";
trace("Add @");
}
};
Key.addListener(keyListener);
my_text.addListener(keyPresser);
Vediamo il codice nei dettagli:
Creo un nuovo oggetto keyPresser e dichiaro una funzione al cambiamento del contenuto referente al mio campo di input my_text
keyPresser = new Object();
keyPresser.onChanged = function(my_text:TextField) {
Inserisco una condizione con la quale verifico se è stato premuto il carattere ò in ASCII 242 e lo sostituisco con il carattere chiocciola @
if (((Key.getAscii())) == 242) {
my_text.text = my_text.text.slice(0, my_text.text.length-1)+"@";
trace("Add @");
}
};
Infine associo la funzione al mio testo con addListener
Key.addListener(keyListener);
my_text.addListener(keyPresser);
Purtroppo il comando di funzione AltGr non viene associato e ha come valore 0, per questo non si puo inserire una condizione solo sulla pressione di entrambi i tasti
Ricordiamo di incorporare i caratteri speciali come quelli di punteggiatura in cui vi è la famosa chiocciola
Ovviamente se ora la chiocciola sarà inseribile, meno lo sarà il carattere ò in quanto verrà automaticamente sostituito
Da ricordare l’inserimento della chiocciola anche con la seguente combinazione di tasti SHIFT+2
Scarica il sorgente
Guarda il Tutorial
Prezzo: EUR 19,90
Promozione: EUR 16,91
Prezzo: EUR 19,90
Promozione: EUR 16,91
Prezzo: EUR 18,50
Promozione: EUR 15,72
Prezzo: EUR 9,50
Promozione: EUR 8,07
Oggi vediamo alcuni indispensabili consigli SEO per migliorare la visibilità dei siti web o ancora meglio degli  articoli, con lo scopo di migliorare la predisposizione all’indicizzazione dei nostri progetti web sui motori di ricerca. Ormai anche il Web Designer, soprattutto se è ha intrapreso la carriera da Freelance, deve assolutamente conosce alcune nozioni base della SEO. [...]
Come ogni giorno, mi ritrovo a girovagare per il web: news dal mondo, articoli di nuovi o aggiornamenti social, altro vip che si cancella da Twitter… solita routine, quando ad un tratto vengo attratto dalla notizia di un nuovo Social Network super esclusivo. Già avevo sentito parlare di Path, ma non so per quale strano [...]
Sono sempre troppo poche le campagne creative che puntano a sensibilizzare sulla causa animalista, contro le violenze e i test sugli animali, eppure quelle che hanno colpito di più l’immaginazione sono scolpite nelle coscienze di ognuno come segni indelebili. Tra tutte, una delle più meritevole degli ultimi anni è quella dell’azienda inglese LUSH, che ha [...]
Christophe Huet è un fotografo specializzato nel fotoritocco digitale, che divide facilmente le opinioni del pubblico, in quanto sappiamo benissimo che esistono due distinte correnti di pensiero. I primi, puristi della foto per i quali la manipolazione è da pena di morte, e i secondi, gli artisti del fotoritocco come Christophe che del fotoritocco hanno [...]

Deja_rulez
2 febbraio 2009
Bella julius per la soluzione,
Se non sbaglio con il nuovo flash player e firefox2 è stato risolto il problema quindi dovrebbe funzionare anche con il wmode transparent.
Altra cosa, importante (che penso sicuramente tu conosca già ) è il fatto di limitare l’utilizzo del wmode allo stretto necessario visto che influisce in maniera consistente sulla pesantezza del filmato flash a livello di utilizzo cpu. [correggimi se sbaglio]
ciaaps!
Geekko
2 febbraio 2009
Ottima soluzione! grazie Maestro Julius
Michele.77
4 febbraio 2009
Davvero notevole! Grazie
PS. Che bello quando queste chicche di saggezza erano elargite con più frequenza ;)
Markino
6 febbraio 2009
Ottima soluzione Julius!
Marcello
16 febbraio 2009
Grazie 1000 Julius.. prima della mia segnalazione avevo risolto inserendo 2 campi con al centro la @.. finalmente posso eliminare questa scorciatoia.
Grazie ancora!
mrKaizen
19 febbraio 2009
Guarda qua, per una classe che fixa il problema:
http://www.manmaru.fr/mlab/?p=95
devi solamente aggiungere la tastiera IT (prendi la francese e sopstituisci guardando i tasti della tua ;) )
Julius
19 febbraio 2009
@mrKaizen: Interessante, grazie per la segnalazione
mrKaizen
20 febbraio 2009
yeah, no prob ;)
simoegio
26 febbraio 2009
c’è un modo (magari AS2) per risolvere il problema indipendentemente dalla lingua della tastiera usata? ora come ora funziona solo su quella italiana visto che il codice ASCII di riferimento è quello
Michele
25 giugno 2009
ragazzi … a me il bug compare anche senza il wmode transparent …
guardate qui .. http://www.stasigroup.it … andate nella sezione contatti .. e provate ad inserire una @ o un ? .. vedete cosa succede ….
il bello è che se accedo direttamente al file http://www.stasigroup.it/contatti.swf …
il bug non si presenta!!!
con ie tutto ok …
mi sapete aiutare??
grazie mike
Julius
25 giugno 2009
@simoegio per ora ho trovato solo questa soluzione
@Michele ciao dall’HTML si nota chiaramente che utilizzi
<param name="wmode" value="transparent">Prova a toglierlo vedrei che il problema non ci sarà più
Michele
25 giugno 2009
my god .. sto proprio fuso ahahah stavo operando su una pagina diversa aah index.htm invece di html .. e in quella lo avevo già tolto XD …. mammamia grazie … certe volte ci si perde in un bicchiedere d’acqua XD
bye bye mike
Matteo
3 novembre 2009
Scusate ma per AS 3????
Andrea
27 maggio 2010
a me il problema si è risolto su firefox grazie al tuo as… ma mi rimane sul chrome… come mai???
marco
6 dicembre 2010
Mi occorre in as3 please ;)
marco
6 dicembre 2010
found as version here:
http://blog.madebypi.co.uk/2009/04/21/transparent-flash-text-entry/
marco
6 dicembre 2010
sorry as3 version i mean:
http://blog.madebypi.co.uk/2009/04/21/transparent-flash-text-entry/
Trovata la versione per as3
http://blog.madebypi.co.uk/2009/04/21/transparent-flash-text-entry/
marco
6 dicembre 2010
@ Matteo:
http://blog.madebypi.co.uk/2009/04/21/transparent-flash-text-entry/
Renzo
8 febbraio 2011
Scusa per l’ignoranza, ma non essendo un esperto di programmazione, mi sono affidato al sito http://www.wix.com per creare il mio sito in flash. Come faccio a risolvere il problema della @ non potendo accedere al codice della pagina (o almeno credo che non si possa)!
Renzo
8 febbraio 2011
A dimenticavo, non so se è importante, ma questo bug con firefox e chrome mi capita solamente se inserisco nel mio sito in flash un widgets html che mi porta a un altro sito (ad esempio il pulsante condividi su facebook oppure il codice di un contatore visite). Altrimenti mi funziona tutto!