Compatibilità sono due lettere…

La compatibilità tra browser diversi è uno dei problemi maggiori nei confronti dei quali gli sviluppatori di WebApps di devono confrontare quotidianamente. Un browser che implementa qualcosa, l’altro che no, o che la implementa diversamente. Necessità di codice customizzato, generato a partire da informazioni che non sono mai sicure… insomma, un vero casino.

Ma a volte, sarebbe sufficiente davvero un briciolo di buona volontà… Questa mattina siamo stati presso un grosso cliente a consegnare alcune macchine client GNU/Linux, basate su DSL ed equipaggiate con il browser SeaMonkey, che partono da una eprom flash su macchine fan-less.

Fatti i test previsti, constatato che tutto funziona correttamente, siamo andati da un altro cliente (da cui mi trovo tutt’ora). Dopo meno di 3 ore, chiamano dal grosso cliente dicendo che “qualcosa non funziona”.

Sotto la guida di uno di loro, riesco a raggiungere il form “html + javascript” su cui SeaMonkey tira le quoia. Firebug alla mano, scopro che il problema è un errore, legato ad una funzione che non esiste:

document.getElementById("IdName").click()

Fruga fruga fruga, scopro che “IdName” è un tag di tipo Anchor, e che l’implementazione del click su questi elementi non è standard, ma implementata da Microsoft Internet Explorer, eseguendo il contenuto della sezione “onClick” legata a quel tag. Ottimo. Splendido. L’applicazione non si può modificare (roba della casa madre), e quindi quella parte del sito non potrà essere utilizzata per lo scopo previsto (pare si possa farne a meno).

E sapete cosa sarebbe stato sufficiente fare per far funzionare il tutto sui due browser? Chiamare la funzione “onClick” invece che “click”…

Un pensiero su “Compatibilità sono due lettere…

Rispondi a ramsesoriginal Cancella risposta

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.