Monthly Archive for May, 2008

Qualche soluzione per non impazzire con javascript, Internet Explorer e il DHTML

Internet Explorer (da adesso IE) non supporta il DOM come Firefox (da adesso FF), ma supporto solo una parte di DOM: utilizza invece DHTML che, nell’ultima versione, ha subito dei cambiamenti importanti. Questo porta a una serie di problemi nello sviluppare funzioni cross browser in javascript, specialmente se il nostro obiettivo è implementare componenti dell’interfaccia in finestre di pop-up, dalle quali riportare un risultato nella finestra principale (un calendario, selezionare elementi, inserire valori che aggiornano una combo box, ecc.).

Per chi sviluppa web application utilizzando javascript, può capitare di dover risolvere alcuni problemini quando si tratta di far funzionare i propri script concepiti per FF (quindi seguendo lo standard DOM), in IE 6/7.

Ultimamente ho realizzato una web application per la formazione online e mi sono trovato nei guai in diverse occasioni; in particolare quando ho cercato di spostare alcune funzioni dell’interfaccia dalla finestra principale in finestre di pop-up per non affollare la prima. In questo post voglio illustrare i problemi che ho incontrato e le soluzioni che ho adottato. Non pretendo di fornire informazioni originali (anche perché molte delle soluzioni le ho trovate nei forum), quello che mi preme è raccogliere i suggerimenti e strutturarli in modo da fornire un aiuto chiaro a chi incapperà (o è incappato) negli stessi problemi.

Creare un nuovo elemento nella finestra aprente (opener) dalla finestra aperta (pop-up).

Se vogliamo creare e aggiungere un nuovo elemento nella finestre aprente (opener), dalla finestra aperta (con window.open) in IE, dobbiamo utilizzare il metodo createElement() specificando la finestra aprente, altrimenti l’oggetto creato sarà inconsistente e, quindi, inutilizzabile. es.:

document.createElement('input');  sbagliato
window.opener.document.createElement('input');  corretto

Non essendo questo necessario in FF, non saperlo potrebbe portarvi via molto tempo.

Il metodo window.opener.document.getElementById() non funziona in IE7.

In IE7, per poter recuperare un oggetto della finestra window.opener, dalla finestra aperta come pop-up, non possiamo utilizzare la funzione getElementById(), perché genererà un ‘errore. Dobbiamo, invece, impiegare le modalità definite dal DHTML, che sono le seguenti:

- window.opener.document.all[index];
- window.opener.document.all['nomeElemento'];
- window.opener.document.all.item('nomeElemento');

Per una guida esaustiva potete consultare la MSDN Library: HTML and DHTML reference (en).

In javascript, il metodo trim() per l’oggetto String non esiste: una soluzione.

L’oggetto String di javascript offre molti metodi, ma tra questi non esiste il metodo trim(). Il metodo si può rivelare utile quando dobbiamo eliminare gli spazi da stringhe provenienti dalla response di un oggetto XMLHttpRequest.

Questa è una soluzione efficace e di facile implementazione:

String.prototype.trim = function (){
	return this.replace(/^\s*/,””).replace(/\s*$/,””);
}

Una volta definito, tutti gli oggetti String avranno il metodo trim().

Spero che questi brevi e semplici appunti possano esservi utili e possano farvi risparmiare qualche ora nelle estenuanti fasi di debugging.

http://www.flatiron.it/2008/05/qualche-soluzione-per-non-impazzire-con-javascript-internet-explorer-e-il-dhtml/

Alla corte del vino – Grandi vini di Toscana. Il 17 e il 18 maggio 2008

Sabato 17 e domenica 18 maggio, a San Casciano Val di Pesa, nella Villa “Le Corti”, si terrà la XII manifestazione della mostra mercato: “Alla corte del vino – Grandi vini di Toscana”.
Dalle 11:00 alle 20:00 sarà possibile degustare molti dei più importanti vini toscani e, per i più fortunati che riusciranno a trovare ancora un posto, sarà possibile partecipare ad uno dei seminari o ad una delle degustazioni che fanno parte del programma di quest’anno.
Per ulteriori informazioni visitate il sito della manifestazioni: Alla corte del vino.

http://www.flatiron.it/2008/05/alla-corte-del-vino-grandi-vini-di-toscana-il-17-e-il-18-maggio-2008/

Il nuovo sito è online

Da oggi è online il mio nuovo sito con una nuova veste grafica, alcune semplificazioni e un blog che, lo prometto, sarà più ricco e più aggiornato di quanto abbia fatto con l’altro.

Ho voluto cambiare per rivedere quanto avevo pubblicato e per cambiare la web application, spostandomi da Drupal a Wordpress.

Il motivo del cambiamento non è legato ad una diversa valutazione delle infinite qualità del primo, ma per una sproporzione fra le funzionalità offerte e l’utilizzo che ne facevo.

Wordpress parte con una struttura ridotta e più semplice avvantaggiando la scrittura piuttosto che le funzioni, peraltro ampliabili attraverso i plugin.

Il sito lo considero ancora un work in progress…avevo solo tanta voglia di farlo uscire.

http://www.flatiron.it/2008/05/il-nuovo-sito-e-online/