Nonostante sia un browser morto e sepolto, può succedere che il committente del lavoro richieda che una pagina dove hai utilizzato plupload funzioni anche su questo browser.
Il problema di tutta la serie IE è la scarsa aderenza agli standard, comportamenti diversi da una versione all’altra anche nelle cose più semplici.
Il progetto è semplice. Un form con la possibilità di allegare un unico file.
Nel mio caso l’area di upload veniva mostrata solo dopo che l’utente aveva fatto qualche azione specifica nella form. Quindi nello sviluppo iniziale le funzioni di inizializzazione venivano eseguite su un div nascosto.
Ti chiama il cliente che con IE non funziona.
Ok. Vediamo, provo con IE 11 che ho installato sul pc. Funziona tutto correttamente.
Chiamo il cliente… quale versione usi?
Stiamo facendo i test con IE8.
Per risolvere il problema, serve pazienza, tramite google si trovano indicazioni delle probabili cause. IE8 è una miniera di problemi. Con fortuna ecco l’indicazione giusta.
Sotto IE8 la funzione di inizializzazione non funziona su aree nascoste, plupload non riesce ad aganciarsi ad elementi della pagina se questi sono in un div nascosto tramite una direttiva css “display:none”.
La soluzione che ho addottato è semplice:
– caricare la pagina con l’area visibile
– inizializzare il plugin plupload
– alla fine dell’inizializzazione plupload: una direttiva jQuery(“#areanascosta”).hide()
La parte più noiosa è fare un test, non puoi avere installate sulla stessa macchina versioni diverse di IE8, i tool di test non garantiscono un test che definirei affidabile. Occorre quindi scaricare dal sito Microsoft una immagine preinstallata per VM Virtualbox con IE8.
Se hai una buona connessione internet, molto buona, dopo un’ora puoi chiudere positivamente il test.
Molti chiamano ancora IE8 browser, per me è la certezza dell’inizio di un mal di testa.