Quella strana “E” sulle confezioni dei prodotti
L’Estimated sign è il simbolo usato nell’Unione europea per segnalare sulle etichette dei prodotti la massa o il volume meccanicamente predeterminati di una merce. Per visualizzarlo in HTML bisogna usare il codice ℮
Add comment 24 Giugno 2009
Gif animate con Photoshop
Mi sono trovato recentemente in una situazione nella quale dovevo creare una GIF animata. Siccome non volevo perdere tempo a cercare servizi online o l’ennesimo programma freeware, ho trovato questo tutorial per realizzare gif animate con Photoshop. Ho però trovato la procedura un po’ scomoda, per cui non è escluso che in futuro cercherò un programma più adatto.
1 comment 27 Marzo 2009
Float Precision, risolvere il problema dei decimali in JavaScript
Facendo operaizoni coi decimali in JavaScript vi sarà capitato di imbattervi in alcuni risultati “strani”… Ad esempio:
0.99999 + 0.000001 = 0.9999910000000001
0.05 * 0.35 = 0.017499999999999998
Questo strano comportamento è colpa dello Standard IEEE 754 implementato in moltissimi linguaggi e che regola il comportamento dei numeri decimali.
Ora, non so per voi ma per me è inconcepibile fare con un PC delle operazioni matematiche ed ottenere risultati errati… per cui mi sono messo a caccia di una libreria che risolvesse tale problema. Ho trovato BigNumber, che al prezzo di un po’ di scomodità (ma neanche tanta) promette risultati perfetti:
new BigNumber(0.99999).add(0.000001) = 0.999991
new BigNumber(0.05).multiply(0.35) = 0.0175
Alleluia.
Quando la finiremo di implementare librerie per riparare agli errori degli altri??
6 comments 4 Febbraio 2009
jLibrary, minor update
Tutti i files di jLibrary sono stati aggiornati per essere compatibili con jPrototype 0.2. La retrocompatibilità è garantita.
Add comment 22 Gennaio 2009
jPrototype 0.2
Con l’anno nuovo ho trovato il tempo di razionalizzare la libreria, che si avvale finalmente dei vantaggi di Prototype 1.6.
Ecco i principali cambiamenti:
- Eliminata la funzione $AA() in quanto dalla versione 1.6 di Prototype $A() è stato migliorato
- is.Collection() è stato rimosso in quanto non funzionante
- l’oggetto “is” è stato perfezionato
- i metodi di Position sono stati spostati sotto Element
- AND(), OR(), NAND() e NOR() sono stati rinominate ALLOF, ONEOF, NONEOF e ONENOTOF, in quanto in effetti la loro funzione è diversa da quello che si poteva pensare (infatti NOR() non si comportava come un NOR logico)
E’ comunque possibile scaricare il vecchio ramo nella pagina della documentazione e download.
Add comment 13 Gennaio 2009
Form.request() e il tasto Enter
Chi usa Prototype è sicuramente abituato alla comodità del metodo Form.request() che permette di inviare i dati di una form senza cambiare (o ricaricare) la pagina. Probabilmente però si è anche imbattuto nel classico problema del pulsante [Enter] che, se premuto, invia la form nel modo classico, cambiando (o ricaricando) la pagina. Finora la soluzione era disabilitare il tasto, con tutti i problemi del caso legati alle textarea, ma oggi ho trovato una soluzione più elegante:
$('myForm').observe('submit', function(e){
Event.stop(e);
$(this).request();
})
Add comment 10 Settembre 2008
Workaround per Scriptaculous: Blind/Slide bug
Questi effetti soffrono di un bug non da poco che affligge IE: all’inizio dell’animazione, il div animato fa un “salto”, ovvero a seconda dei casi viene mostrato allo 0% oppure al 100% della sua altezza. L’unico modo che ho trovato di farlo funzionare è stato usare l’opzione “from” per far partire l’effetto appena dopo il “salto”.
Esempio:
Effect.BlindDown('myDiv',{duration:0.5,from:0.1});
Add comment 12 Agosto 2008
jDate aggiornato alla versione 0.21
Aggiunti i seguenti metodi:
- jDate.toDate();
- jDate.addDate();
- jDate.addWeek();
- jDate.addMonth();
- jDate.addYear();
- String.timestamp2jDate()
Leggete la documentazione se volete approfondire…
Add comment 30 Maggio 2008
Far scollrare la Title Bar del browser in stile WinAmp
Per l’angolo del cazzeggio, ecco uno scriptino che simula il famoso effetto di WinAmp che fa scrollare il titolo della canzone nella titlebar e di conseguenza nella taskbar. Rispetto a winamp però questo script fa scrollare il testo desiderato anche nella tab! Utilissimo se usato con Greasemonkey e giochi come Travian…
ScrollingTitleBar={
title:'',
title_current:'',
play:true,
spaces:50,
updateEvery:100,
update:function(){
var s=this.title_current;
document.title=s.replace(/ /g,String.fromCharCode(160));
this.title_current=s.substring(1,s.length)+s.substring(0,1)
if(ScrollingTitleBar.play)setTimeout("ScrollingTitleBar.update()",ScrollingTitleBar.updateEvery);
},
start:function(q){
ScrollingTitleBar.title=q;
ScrollingTitleBar.title_current=q;
for(var i=0;i<ScrollingTitleBar.spaces;i++)ScrollingTitleBar.title_current=" "+ScrollingTitleBar.title_current;
ScrollingTitleBar.play=true;
ScrollingTitleBar.update();
},
stop:function(q){
ScrollingTitleBar.title_current=ScrollingTitleBar.title;
ScrollingTitleBar.play=false;
}
}
ScrollingTitleBar.start("Arctic Monkeys - A view from the afternoon");
Add comment 22 Maggio 2008
Promemoria: percorsi files esterni
Siccome quando lavoro coi files SWF, CSS e JS che caricano dinamicamente immagini o altro faccio sempre confusione coi path relativi, ecco qui la regola scritta e verificata una volta per tutte!!!
Tutti i link a files esterni sono relativi alla cartella:
- HTML: della pagina stessa
- CSS: del file CSS
- JS: della pagina che include il file js
- SWF: della pagina che include il file swf
ATTENZIONE IN PHP:
Dato il filesystem:
/index.php
/1/index.php
/1/2/index.php
/1/2/3/index.php
e dato che ogni files tranne il primo contiene l’istruzione:
include(’../index.php’)
se da browser richiamo /1/2/3/index.php esso non arriverà a chiamare /index.php come ci si potrebbe aspettare, bensì richiamerà sempre e solo /1/2/index.php creando un loop infinito. Questo perchè fa riferimento il percorso del file “padre” di tutti gli altri (quello richiamato da browser per intenderci.)
Add comment 22 Maggio 2008
