var mysite = {
    'url': "http://www.ajaxweb20.net",
    'author': "Giuseppe Raso",
    'xhtmlValid': true,
    'cssValid': true
}
Home > Blog

Archive for Dicembre, 2007

Ho fatto un semplice test con javascript e Opera è risultato essere il browser più veloc… sorry, volevo dire il più lento.

Venerdì, Dicembre 28th, 2007

Consiglio la lettura di questo post anche a chi non se ne intende di javascript ma ha sempre creduto che Opera fosse il browser più veloce.
Stasera mi sono ritrovato a fare un test javascript per verificare la velocità del for e del for-in nei vari browser.
Lo script crea due oggetti con 10,000 elementi che vengono ciclati prima in un modo e poi nell’altro:

  1. function tm() {
  2.     return new Date().getTime();
  3. }
  4.  
  5. //FOR-IN VS FOR
  6. var ar1 = [];
  7. var ar2 = {}
  8.  
  9. for(var i = 0; i!=10000; i++) {
  10.     ar1[i] = null;
  11.     ar2[‘key’ + i] = null;
  12. }
  13.  
  14. var tm1 = tm();
  15. for(var i = 0; i!=10000; i++) {
  16.     ar1[i] = “stringa”;
  17. }
  18.  
  19. tm1 = tm()-tm1;
  20. var tm2 = tm();
  21.  
  22. for(var i in ar2) {
  23.   ar2[i] = “stringa”;
  24. }
  25.  
  26. tm2 = tm() -tm2;
  27.  
  28. alert(tm1 + ‘\n‘ + tm2);

Con grande sorpresa, questi sono i risultati dei test da me effettuati su Windows XP con System Pack 2:

Firefox 2.0.0.11
for: 16ms
for-in: 31ms
Internet Explorer 6
for: 31ms
for-in: 47ms
Safari 3.0.3
for: 31ms
for-in: 47ms
Opera 9.22
for: 16ms
for-in: 15047ms

Guardate l’ultimo valore, anche a chi non ha mai sentito parlare di javascript dovrebbe risultare ovvio: per un’operazione che persino IE 6 compie in meno di un ventesimo di secondo, Opera 9 impiega ben 15 secondi!!!
Alla faccia della velocità…
Se ancora avete dubbi su quale browser usare scaricatevi la Beta 2 di Firefox 3: semplicemente una scheggia ;)

Un altro buon motivo per non usare Norton Antivirus, ovvero una delle feature più idiote e meno conosciute.

Domenica, Dicembre 23rd, 2007

Oggi vado un pò controcorrente. Mentre la blogosfera parla della pessima figura fatta dal team di Kaspersky per aver bloccato gli explorer.exe dei propri utenti, io vi voglio rendere nota una delle feature peggiori introdotte da Norton Antivirus, quella del blocco popup.
No, non sono diventato un amante delle finestre piene di pubblicità pornografiche.
Il motivo del mio disappunto è un altro, ovvero il modo in cui questa feature è implementata.
Per evitare i popup indesiderati, Norton Antivirus introduce infatti in tutte le pagine web il seguente codice javascript:

  1. function SymError()
  2. {
  3. return true;
  4. }
  5.  
  6. window.onerror = SymError;
  7.  
  8. var SymRealWinOpen = window.open;
  9.  
  10. function SymWinOpen(url, name, attributes)
  11. {
  12. return (new Object());
  13. }
  14.  
  15. window.open = SymWinOpen;
  16.  
  17. //
  18.  
  19. followed by:
  20.  
  21.  
  22. var SymRealOnLoad;
  23. var SymRealOnUnload;
  24.  
  25. function SymOnUnload()
  26. {
  27. window.open = SymWinOpen;
  28. if(SymRealOnUnload != null)
  29. SymRealOnUnload();
  30. }
  31.  
  32. function SymOnLoad()
  33. {
  34. if(SymRealOnLoad != null)
  35. SymRealOnLoad();
  36. window.open = SymRealWinOpen;
  37. SymRealOnUnload = window.onunload;
  38. window.onunload = SymOnUnload;
  39. }
  40.  
  41. SymRealOnLoad = window.onload;
  42. window.onload = SymOnLoad;

Lo script non solo rende invalidabile il codice XHTML della pagina, ma elimina anche il metodo  window.open e rende inutilizzabile il gestore window.onerror.
E’ un espediente secondo me drastico e inutile, sia perche ormai quasi tutti i browser hanno un blocco popup integrato, ma anche perchè superare questa "barriera" è veramente semplice.
Per eliminare gli effetti di questo fastidioso script basta infatti inserire poche righe di codice:

  1. if (window.SymRealWinOpen) {
  2.   window.open = window.SymRealWinOpen;
  3. }
  4. SymWinOpen = window.open;
  5. window.onerror = null;

In questo modo però lo script sarà ancora presente nel listato HTML; per impedire all’antivirus di inserire lo script bisogna seguire la procedura descritta nel sito della Symantec.
In definitiva ti chiedo scusa Norton, sarai pure l’antivirus più affidabile al mondo, ma non penso proprio che ti installerò nel mio computer : )

Fonte: Simon Cox

Il più immenso deposito di texture free di internet.

Sabato, Dicembre 22nd, 2007

Grazie a una soffiata del blog Dezignus sono venuto a conoscenza di questo magnifico e immenso deposito di texture liberamente utilizzabili.
Pensate, le texture disponibili sono addirttura 20.000!
L’unico limite, se così vogliamo chiamarlo, è che è possibile scaricare "solo" 15 MB di texture al giorno. Ma per celebrare l’arrivo alla cifra di 20.000 texture gli amministratori di CG textures hanno deciso di innalzare il limite a 30 MB.
Infine la navigazione, semplice ed efficiente, vi aiuterà a trovare più facilmente quello che state cercando.
Sicuramente un link da mettere nei bookmarks.

Internet Explorer 8 supererà il famoso test Acid2.

Giovedì, Dicembre 20th, 2007

Per chi non lo conoscesse l’Acid2 è uno dei test più affidabili per verificare l’aderenza dei browser agli standard, in particolare per ciò che riguarda il supporto css.
Per ora l’unico browser in grado di superare tale test è Opera ( Firefox e Safari si avvicinano ), inutile dire che la visualizzazione con Internet Explorer è a dir poco oscena, soprattutto con la versione 6.
Ma qualcosa sta per cambiare: come ci riferisce il team di IE, Internet Explorer 8 supererà il test Acid 2 a pieni voti. Se così fosse ci dobbiamo aspettare una maggiore aderenza agli standard e forse l’implementazione di qualche regola finora fruibile solo su altri browser.
Ora resta solo da sperare che non sia un fotomontaggio…

Guardate cosa c’è tra i link sponsorizzati di Google…

Lunedì, Dicembre 17th, 2007

Date un’occhiata a quest’immagine: Avete visto? Un pò contradditorio vero?
Questa guerra dei browser sta diventando un pò troppo caotica; spero di non vedere pubblicità di Internet Explorer su www.mozilla.org 

Fonte: phpied

3 Software free per creare gif animate.

Domenica, Dicembre 16th, 2007

Vi segnalo questa mini lista di software free che permettono d creare delle gif animate. Sono tutti semplici da usare e supportano vari formati; personalmente io ho sempre utilizzato imageready, ma con un pò di pazienza e con l’ausilio di altri software come photoshop o the gimp dovreste essere in gradi di ottenere buoni risultati anche con questi software ; )

Infine vi propongo questo servizio web che permette addirittura di trasformare un video in gif senza dover installare niente e senza la necessità di registrarsi!
Media-convert

Risolvere i bug di attachEvent - version 2

Giovedì, Dicembre 13th, 2007

In questo vecchio post avevo postato uno script .js che permette di aggiungere un listener in modo crossbrowser, eludendo tra l’altro i numerosi bug di attachEvent.
Grazie alla spunto offertomi da un utente di HTML.it ho deciso di migliorare lo script e di renderlo più riutilizzabile grazie a una nuova funzione, $callListeners, praticamente l’equivalente di fireEvent e dispatchEvent.
Godetevela :)

  1. function $addListener(obj, ev, lis) {
  2.     if(!obj.events) obj.events = {}
  3.     if(!obj.events[ev]) obj.events[ev] = [];
  4.     obj.events[ev].push(lis);
  5.     if(obj.addEventListener)
  6.         obj.addEventListener(ev, lis, 0);
  7.     else if(obj.attachEvent && !obj.events.iefix) {
  8.         obj.events.iefix = true;
  9.         obj.attachEvent("on" + ev, function() {
  10.             $callListeners(obj, ev);
  11.         });
  12.     }
  13. }
  14.  
  15. function $callListeners(obj, ev) {
  16.     for(var i = 0, l = obj.events[ev].length; i!=l; i++) {
  17.         obj.events[ev][i].call(obj);
  18.     }
  19. }
  20.  
  21.  
  22. window.onload = function() {
  23.   var el =document.getElementsByTagName("body")[0];
  24.   $addListener(el, "click"function() { alert(this.nodeType + this.events.click)});
  25.   $addListener(el, "click"function() { alert(this.tagName)});
  26. }

Nasce Pix-You, il servizio di photo sharing tutto italiano che ha dichiarato guerra a Flickr.

Domenica, Dicembre 9th, 2007

Pare finalmente che sempre più applicazioni web 2.0 italiane stiano iniziando a vedere la luce. Certamente non poteva mancare un servizio di photo sharing: a tale proposito vi presento Pix-You, un nuovo servizio in stile Flickr che permette di salvare intere fotogallery e di condividerle con tutta la comunità.
Il servizio si presenta molto bene già ad una prima occhiata: la grafica è molto bella ma al tempo stesso minimale, utilizzare il servizio quindi è molto semplice.
Ma se ci fossero dei dubbi è presente una sezione tour dove è possibile vedere dei video che spiegano come registrarsi al servizio e diffondere le proprie foto.
Una delle feature più interessanti è sicuramente quella di poter uploadare per ogni evento un numero illimitato di foto, anche se al momento per l’account free è previsto un limite di 10 eventi.
Il servizio, nato poche settimane fa, ha già la bellezza di 250 utenti e 1500 foto uploadate; sta inoltre avendo un  successo internazionale tanto da arrivare ad essere citato su KillerStartups e addrittura sul blog della Creative Commons ( tutte le foto uploadate sono protette da licenza Creative Commons )!
Non vi resta che provare di persona il servizio registrandovi qui e iniziando a uploadare

Uno dei bug peggiori mai visti in Windows Vista.

Venerdì, Dicembre 7th, 2007

In Windows Vista c’è un programma che segnala gli errori, ma cosa succede se il programma che segnala gli errori ci segnala che a smettere di funzionare è proprio il programma che dovrebbe segnalare gli errori?
Semplice, basta premere ok affinche il programma che si occupa degli errori ci dica come risolvere il problema…
O forse è meglio passare a Linux.

L’ennesimo bug di IE; questa volta a soffrirne è solo la versione 7.

Lunedì, Dicembre 3rd, 2007

Leggendo Ajaxan è balzato alla mia attenzione un post riguardante uno strano bug di IE7.
Nel seguente codice la variabile this.test dovrebbe avere come valore [Object object]: questo perchè un if la cui condizione non si verifica mai non dovrebbe agire in nessun modo. Al contrario in IE7 la ridichiarazione della variabile pare aver effetto; in questo browser infatti il secondo alert restituisce undefined.

  1. <script type=“text/javascript”
  2.         this[‘test’] = {};
  3.         alert(this[‘test’]);
  4.         // will spit out [Object object]
  5. </script>
  6. <script type=“text/javascript”>
  7.         alert(this[‘test’]);
  8.         // will spit out Undefined in IE7
  9.         // this next chunk of code should never run.
  10.         if (true == false){
  11.            alert(“This never fires”);
  12.            // THIS SHOULD NOT IMPACT ON ANYTHING !!!!
  13.            var test; // take this line out and it works fine
  14.            alert(“This never fires”);
  15.         }
  16. </script>

I commenti si dividono tra quelli che pensano che questo sia un comportamento anormale e quelli che invece addirittura pensano che tale comportamento sia giustificato dalle specifiche dell’ecmascript.
Il mio parere è è che questo sia uno degli ennesimi bug senza senso a cui da tempo la Microsoft ci ha abituato.