Javascript insertAdjacentElement, insertAdjacentHTML, insertAdjacentText Cross Browser Compatibility.

Scritto il 17-02-2009 da Vito Antonio Bonardi

Pubblicato su : Programming

4

Chi come me sviluppa software per il web, quotidianamente si trova ad affrontare problemi di compatibilità tra i vari browser.
Il problema che ho riscontrato in questi giorni, riguarda la funzione insertAdjacentHTML, metodo non standard di casa Microsoft (non è presente in ECMAscript).
Dopo una breve ricerca su google (santo google), ho trovato questa faq, che risolve il problema.
Ecco la soluzione:

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){

HTMLElement.prototype.insertAdjacentElement =
        function(where,parsedNode)
	{
	   switch (where){
		   case 'beforeBegin':
			   this.parentNode.insertBefore(parsedNode,this)
			   break;
		   case 'afterBegin':
		           this.insertBefore(parsedNode,this.firstChild);
			   break;
		   case 'beforeEnd':
			   this.appendChild(parsedNode);
			   break;
		   case 'afterEnd':
			   if (this.nextSibling)
			       this.parentNode.insertBefore(parsedNode,this.nextSibling);
			   else this.parentNode.appendChild(parsedNode);
			   break;
	  }
	}

     HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
     {
        var r = this.ownerDocument.createRange();
        r.setStartBefore(this);
        var parsedHTML = r.createContextualFragment(htmlStr);
        this.insertAdjacentElement(where,parsedHTML)
     }

     HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
     {
       var parsedText = document.createTextNode(txtStr)
       this.insertAdjacentElement(where,parsedText)
     }
}

function getObjInnerText(obj){
     if (document.all)
     { // IE;
       return obj.innerText;
     }
     else{
           if (obj.textContent){
	      return obj.textContent;
           }
}

Google Chrome.

Scritto il 29-01-2009 da Vito Antonio Bonardi

Pubblicato su : Technology

2

Sarà perchè forse la pesantezza di Firefox inizia a sentirsi, ho deciso di installare Google Chrome.
Vediamo quanto dura (già so che mi mancheranno tutti i plugin di Firefox).

FirefoxUltimateOptimizer: ottimizzare l’uso della memoria in Firefox.

Scritto il 13-12-2007 da Vito Antonio Bonardi

Pubblicato su : Technology

3

Tempo fa avevo parlato del problema di Firefox per la gestione della memoria. Un pò tutti se ne lamentano, nel frattempo già si pensa alla versione 3 del browser che dovrebbe esser un pò più "leggera" da questo punto di vista. Ma visto che i tempi per arrivare ad una realese definitiva sono lunghi, non resta che affidarsi a tool esterni. FirefoxUltimateOptimizer utilizza una funzione di libreria chiamata EmptyWorkingSet per diminuire drasticamente l’utilizzo di memoria da parte del browser. Non resta che provare e sperare che funzioni realmente.

[via HttpGuru]

Abilitare/disabilitare Snap Preview (SnapShots).

Scritto il 19-04-2007 da Vito Antonio Bonardi

Pubblicato su : Internet news, Technology

0

Snap Preview è l’utility che fornisce un mini screenshot del sito al quale fa riferimento il link sopra il quale passiamo con il mouse. L’utlizzo di tale servizio da parte di siti/blog, ha suscitato molto entusiasmo (inizialmente) ma anche tanto fastidio. Inizialmente a me non piaceva, poi giusto per provarlo l’ho inserito nel mio blog: ora sono indeciso se toglierlo o lasciarlo ancora per un pò.
Per chi non è un amante di tale servizio, c’è un modo per disabilitare snap da tutti i siti. Basta andare su un blog che abbia snap attivo, lasciare il mouse su un link ed attendere l’anteprima. In alto a destra c’è una voce “disable”, cliccateci e poi cliccate su “All site”. In questo modo il servizio viene disabilitato su tutti i siti.
Per chi invece è un amante del servizio (o meglio un utente), è uscita un’evoluzione di Snap Preview, e si chiama SnapShots. Stesso servizio, ma con nuove funzionalità. Non più una preview del sito linkato, ma un widget adattato al contenuto al quale fa riferimento.
Al solito per poterlo inserire nei siti, bisogna accedere alla propria pagina di configurazione (se si è già utenti), personalizzare il proprio SnapShot e inserire il codice fonito nel codice del vostro sito.