Visualizzazione post con etichetta javascript. Mostra tutti i post
Visualizzazione post con etichetta javascript. Mostra tutti i post

giovedì 4 ottobre 2007

Aptana - IDE per javascript e non solo


Ambiente favoloso e per chi già ha esperienza su Eclipse immediato ed essenziale. Aptana un IDE completo ma soprattutto Open. Come si legge nell'home page "facciamo applicazioni Ajax facili da sviluppare, veloci da distribuire e semplici da gestire" è quanto potrete riscontrare installandolo. Come il padre Eclipse anche lui ovviamente in java e di conseguenza cross platform anzi molto cross platform.

Web: http://www.aptana.com/

martedì 25 settembre 2007

Javascript: Array veramente 3d

Oggi parliamo della creazione di un array a tre dimensioni in javascript.

La necessità di scrivere questo articolo nasce da una certa disinformazione in giro per la rete (http://www.mrwebmaster.it/tutorial/js/tutorial612-2.htm). Quello degli array multidimensionali è un argomento spesso trascurato o cmq trattato male e con pochi esempi pratici.

Come al solito presentiamo subito il caso:

var arr = new Array(); //prima dimensione (x)

arr[0] = new Array(); //seconda dimensione per il primo campo (0,y)
arr[1] = new Array(); //seconda dimensione per il secondo campo (1,y)


arr[0][0] = new Array(); //terza dimensione su (0,0) quindi (0,0,z)
arr[0][1] = new Array(); //terza dimensione su (0,1) quindi (0,1,z)
arr[1][0] = new Array(); //terza dimensione su (1,0) quindi (1,0,z)
arr[1][1] = new Array(); //terza dimensione su (1,1) quindi (1,1,z)

//combinazioni:
arr[0][0][0] = '0 0 0';
arr[0][0][1] = '0 0 1';
arr[0][1][1] = '0 1 1';
arr[1][1][1] = '1 1 1';
arr[1][1][0] = '1 1 0';
arr[1][0][0] = '1 0 0';
arr[0][1][0] = '0 1 0';
arr[1][0][1] = '1 0 1';

//visualizziamo il contenuto dell’array: arr[1][0][0]

alert(arr[1][0][0]);

bene, fine della storia. Tutto qua, si tratta solo di muoversi all’interno di array che a loro volta si trovano all’interno di altri array. Non c’è trucco e non c’è inganno.

Naturalmente, una volta chiarite le idee procediamo con l’automatizzarne il procedimento:

var arr = new Array(); //prima dimensione (x)


var str = 'Array 3D:'; //stringa per l’output


for (var x = 0 ; x <>

arr[x] = new Array(); //seconda dimensione

for (var y = 0 ; y <>

arr[x][y] = new Array(); //terza dimensione

for (var z = 0 ; z <>

arr[x][y][z] = x+' '+y+' '+z; //popolamento

str += arr[x][y][z] + ' ';
}

}
}
document.write(str); //output

Come si nota dal codice bastano solo tre cicli for nidificati per inizializzare e popolare il nostro array 3d.

NB: per provare il codice javascript di cui sopra ricordarsi di inserirlo tra i tag script! :P

Ciauz!

venerdì 3 agosto 2007

Problema con javascript su childNodes[x]

Scrivendo javascript è inevitabile incontrare problemi di compatibilità sui diversi browser. Quello dello scorrimento del documento con i childNodes e simili è un problema di cui ne ho individuato da poco il problema. Internet Explorer tratta i nodi per quello che sono ma riutilizzando lo stesso sistema su FireFox qualcosa cambia! Come mai... a quanto pare dopo una serie di test e nessuna ricerca sulla rete il problema sembrerebbe essere nella formattazione del documento html. Difatti producendo codice formattato e indentato a dovere si aggiungono caratteri di tabulazione particolari come ad esempio "a capo" codificato con "\n". Questi a FireFox danno fastidio e di conseguenza condizionano notevolmente la struttura del javascript.

Se per raggiungere un elemento in IE basterebbe document.getElementById('pippo').childNodes[0], per FireFox, se dopo l'elemento pippo c'è uno \n sarà necessario incrementare la chiave dell'array e quindi: document.getElementById('pippo').childNodes[1].

Occhio!