L’altro giorno stavo mostrando un prototipo ad una società  per la quale pensavo che AJAX potesse rappresentare un’ottima soluzione. Avevano la necessità  di validare molti form e di popolare textareas e combobox.

Volevo allora mostrare come tecniche di remote scripting potevano fare al caso loro. Inserisco il cd con i miei prototipi e lancio i file HTML. Si apre Internet Explorer ma non succede nulla. Nessun file HTML fa quello che deve. Superati i primi secondi di panico chiedo di poter accedere ad Internet e mostrare qualcosa online.

Solo a quel punto le cose erano più chiare. I sistemisti avevano disabilitato gli ActiveX nelle Security Settings.

Questo banale equivoco mi ha fatto riflettere molto anche perchè non è la prima volta nella mia carriera che vado in una società  e trovo questo settaggio imposto dal reparto dei Sistemi Informativi. In questi scenari è d’obbligo percià fare un passo indietro e tornare a programmare il Remote Scripting con l’uso del vecchio buon IFrame.

In fin dei conti, anche se l’oggetto XHR (XMLHttpRequest) espone la possibilità  di accedere agli headers ed ad altri dettagli del protocollo HTTP, a fronte di una maggiore compatibilità  sui browser l’uso dell’IFrame rappresenta ancora una scelta validissima.

Nel caso, per esempio, di questa società  dovrà necessariamente perseguire questa strada.

Leggiamo quotidianamente post del tipo : Ajax contro Flash, Ajax contro Coldfusion, Ajax contro Godzilla… Ma forse dovrebbe essere AJAX o IFrame per il Remote Scripting ?

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS
14 CommentiDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

@andr3a non so se c'é scritto nell'articolo che ti ho passato (io l'avevo letto altrove, se vuoi ti invio una fotocopia), ma l'errore di Ariane 5 fu un errore di casting :-)

Mauro Di Blasi
Mauro Di Blasi

bene, un if(null) o un try é un'operazione da NASA ... beh, a questo punto ho finito i commenti ... usiamo i vecchi iframes sempre con js al posto di ajax, così non scomodiamo la NASA ... :E

andr3a
andr3a

@andr3a può essere che abbia utilizzato una qualche libreria (sono decine) che non ha funzionato a dovere o che abbia portato al cliente un lavoro svolto non direttamente da lui, ma da altri all'interno di un team. I fattori in gioco sono tanti. E poi stiamo parlando di interfacce, mica del lancio di Ariane 5 nella Guyana francese! ;-)

Mauro Di Blasi
Mauro Di Blasi

in linea di massima, andrebbero previste alcune possibilità  prima di recarsi dal cliente. io per mostrare o proporre porto sempre il portatile :-P comunque era ironico / polemico il mio intervento poiché non avrei aperto nemmeno la questione, il problema secondo me non é la compatibilità , visto che se si vuole proporre ajax si sa già  che ci sono limiti di versioni e impostazioni, il problema é stato a monte su un mancato "if(null)" ... se avesse avuto js disabilitato, per intenderci, cosa avrebbe scritto qui: ... e se fosse ajax contro il solo server-side ? :-)

andr3a
andr3a

@andr3a in linea di massima, andrebbero previste alcune possibilità  prima di recarsi dal cliente. Considera, però, che in passato sono capitate cose ben peggiori a sviluppatori che presentavano prodotti in anteprima davanti a vaste platee. Per quanto riguarda invece la parte "emotiva", ritengo che possa trattarsi di un banale artificio retorico per attirare l'attenzione di un lettore, non necessariamente della precisa rappresentazione di un fatto accaduto nella realtà 

Mauro Di Blasi
Mauro Di Blasi

infatti l'ho scritto tra virgolette ... ma di sicuro questo poteva non capitare: Si apre Internet Explorer ma non succede nulla. Nessun file HTML fa quello che deve. Superati i primi secondi di panico chiedo di poter accedere ad Internet e mostrare qualcosa online.

andr3a
andr3a

@andr3a non per polemizzare, ma ti pare che un professionista che si reca presso una società  (leggi "un cliente") possa -per una qualunque difficoltà  sopraggiunta- pronunciare una frase come "chissà  perché non funziona più niente"?!

Mauro Di Blasi
Mauro Di Blasi

perdona il mio commento ma qualunque funzione abbia visto adatta a far tornare il giusto XMLHttpRequest in base alla versione del browser ha un bel null se non si riesce ad istanziarla ... era "troppo" fare un if(!xhr)alert('nessun oggetto XMLHttpRequest'); in un prodotto destinato ad una azienda ??? ... non tanto per la questione dell' iframe, quanto per evitare di fare figuracce con frasi tipo "chissà  perché non funziona più niente" ...

andr3a
andr3a

Tra l'altro in futuro ci saranno XFrames http://www.w3.org/TR/xframes/ affiancati a XHTML 2. Anche io proporrei comunque di installare di default su tutte le macchine Firefox o Opera. Aumenterebbe sia la sicurezza che la produttività .

Andrea Paiola
Andrea Paiola

Suggerire l'uso di Mozilla - Firefox - Netscape - Opera (anche la versione Mobile ;-) non era possibile?

gianluca
gianluca