Operazione "Internet Explorer 6 Countdown": eliminiamo IE6

by Gianluca 6 marzo 2011 11.38

E' giunta l'ora di fare sul serio. E' giunta l'ora di far fuori Internet Explorer 6 per sempre.
E la stessa Microsoft ha deciso di dare impulso all'upgrade dello storico browser con la campagna Internet Explorer 6 Countdown. Secondo le statistiche riportate dalla stessa Microsoft, il tanto odiato browser da tutti i web developer e web designer del mondo, resiste ancora con una percentuale del 12% su scala mondiale. L'Italia è messa benino (3,3%). I soliti noti (Norvegia e Finlandia) sono sotto l'1%. Malissimo la Cina (34%!). L'obiettivo è quello di portare la percentuale all'1%. Come? Intasando il web di banner che invitano a cambiare browser, twittando a raffica il messaggio, condividendo il link su Facebook. E allora fallo anche tu! Condividi! Twitta! Facebooka!

http://ie6countdown.com/index.html

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

Web

Quando gli utenti fanno i furbi

by Gianluca 30 gennaio 2011 15.41

Chiunque si sia cimentato nello sviluppo di applicazioni web avrà prima o poi affrontato il discorso della registrazione degli utenti, gestendo tutta una serie di informazioni sull'utente più o meno dettagliate, in base all'applicazione. In particolare l'indirizzo email dell'utente è sempre stato oggetto di particolare attenzione perchè praticamente sempre considerato come informazione "univoca" per il riconoscimento dell'utente stesso. E allora ecco scatenarsi le più avanzate tecniche di riconoscimento per evitare duplicazioni di registrazioni, tecniche di invio di email di conferma con tanto di link di ritorno, e varie amenità del genere.

Peccato però che l'indirizzo email non sia più così tanto "univoco": esistono ormai diversi servizi sul web in grado di creare indirizzi email temporanei con i quali chiunque è in grado di effettuare un numero arbitrario di registrazioni ad un singolo servizio, senza nemmeno la scocciatura di doversi creare un account di posta elettronica diverso per ogni registrazione che intende eseguire. Di seguito una breve lista di servizi che sono riuscito ad individuare (sicuramente la lista è ben più ampia, inviatemi vostre segnalazioni!):

Molto brevemente questi servizi funzionano più o meno tutti allo stesso modo: una volta effettuata una registrazione rilasciano un indirizzo di posta elettronica che avrà una durata prefissata (da qualche minuto a qualche giorno, in base al servizio selezionato). Ottenuto questo nuovo indirizzo è possibile utilizzarlo per le proprie registrazioni: le email inviate saranno girate al vero indirizzo email del proprietario, che potrà così procedere normalmente nella registrazione. Scaduta però la durata dell'indirizzo "fasullo", il vero indirizzo del proprietario non sarebbe più raggiungibile, ottenendo quindi tutti i "benefici" del caso.

Nella lista non compare il più insospettabile di tutti: GMail!

GMail offre una funzionalità poco nota, chiamata plus addressing, che consente di avere a disposizione un numero illimitato di indirizzi email, tutti contemporanemente funzionanti! Il "trucco" consiste nell'aggiungere il simbolo "+" al proprio indirizzo gmail, seguito da una qualunque stringa di caratteri. Ad esempio, ipotizziamo di essere il proprietario dell'indirizzo email giaesp@gmail.com.
Alcuni alias dello stesso indirizzo potrebbero essere:

  • giaesp+gianluca@gmail.com
  • giaesp+esposito@gmail.com
  • giaesp+123456@gmail.com
  • giaesp+test@gmail.com

Tutti questi indirizzi sono tutti riconducibili all'unico vero indirizzo giaesp@gmail.com e qualunque email inviata ad uno di essi sarà ricevuta dall'unico indirizzo vero.
Morale della favola: attenzione alle vostre routine di registrazione degli utenti!

 

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Web

Strani comportamenti di IE7 con jQuery

by Gianluca 10 settembre 2009 00.51

Da diverso tempo avevo notato che la funzione anti-aliasing di Internet Explorer 7 aveva un malfunzionamento nel rendering dei testi, quando questi venivano "nascosti" usando metodi jQuery come hide o fadeOut, poi visualizzati con chiamate a show o fadeIn. Beh, fino ad oggi non mi ero interessato poi così tanto alla cosa, stanco dell'ennesimo pelo nell'uovo diverso tra i vari IE, Firefox, Chrome e chi più ne ha più ne metta. Ma stasera ho deciso di voler approfondire il discorso. Ho trovato un grandioso articolo di Benjamin Michael Novakovic (http://blog.bmn.name/2008/03/jquery-fadeinfadeout-ie-cleartype-glitch/), che a quanto pare sembra essere l'unico depositario della soluzione al problema.

Ebbene, il Novakovic sostiene che causa di tutto sia l'attributo di stile filter, il quale, dichiarato o no nei propri fogli di stile, causa questo malfunzionamento del motore di anti-aliasing di IE7 sui testi processati tramite jQuery. Quindi la soluzione consiste nel trasformare eventuali chiamate a show o fadeIn, che originariamente appararianno come

$('#sample1').show('slow');

$('#sample1').fadeIn('slow');

in


$('#sample1').show('slow', function() {
   this.style.removeAttribute('filter');
});

$('#sample1').fadeIn('slow', function() {
   this.style.removeAttribute('filter');
});

Ho fatto diversi test (tra l'altro sputtanando per l'eternità il mio IE8 nel tentativo di installare una versione standalone di IE7...):

Effettivamente il codice del Novakovic sembra risolvere il problema. Sembra che con IE8 il problema non sussista, mentre con IE7 la differenza è palese.

UPDATE 13/09/2009

Dopo aver effettuato ulteriori test ho notato che applicando la soluzione di Novakovic, FireFox, ma soprattutto FireBug, si incazza di brutto, segnalando un errore Javascript e smettendo di rivolgerti la parola per l'intera giornata. Giustamente FireBug segnala la mancata definizione del metodo removeAttribute. Per questo motivo il codice corretto deve prevedere un controllo preliminare sul tipo di browser che sta eseguendo il codice. Il codice corretto diventerebbe quindi:


$('#sample1').show('slow', function() {
   if (jQuery.browser.msie)
		this.style.removeAttribute('filter');
});

$('#sample1').fadeIn('slow', function() {
   if (jQuery.browser.msie) 
		this.style.removeAttribute('filter');
});

Un "tester" interessante, che tra l'altro propone una versione più completa della soluzione, l'ho trovato qui: jQuery IE Fade Test

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Web