Ultimi commenti
- dalila su Recuperare password hotmail
- MikOne su Connessioni hsdpa su ubuntu 9.10
- raphè su Connessioni hsdpa su ubuntu 9.10
- ciccionamente su Connessioni hsdpa su ubuntu 9.10
- davide su Spostare campi Mysql
- redsend su CHAP Plugin
- Vastiano su Tutte le provincie italiane in un .sql
- luca su Spostare campi Mysql
Tags Cloud
13th
GEN
Come fare caching di immagini con jquery
Posted by raphe | Filed under Appunti, Programming
In giro per la rete è pieno di tutorial su come si possano cachare le immagini utilizzando javascript. Nessuno dei tutorial che ho letto in questi giorni però prende in considerazione il fatto che nel frattempo javascript e il web si siano evoluti e che quindi, con l’utilizzo di ajax, spesso si visualizzano porzioni di pagina, precedentemente visualizzate, senza effettuare il reload della pagina.
Perché questa introduzione? Perché proprio il caso sopra citato manda a farsi friggere tutti i metodi di caching classici.
Vediamo quindi come sfruttare jquery e il metodo load per generare un evento ogni volta che una immagine viene visualizzata.
(function($) {
var cache = [];
$.preLoadImages = function() {
var args_len = arguments.length;
for (var i = args_len; i–;) {
var cacheImage = document.createElement(‘img’);
cacheImage.src = arguments[i];
cache.push(cacheImage);
}
}
})(jQuery)
Con questa prima funzione iniziamo la procedura di cache delle immagini. E’ importante notare che la variabile cache sia globale, questo permette che il garbage collection di alcuni browser non cancellino le variabili non utilizzate.
$(“#loader”).fadeIn();
var imgsNumber = 0;
$(“#container img”).each(function(){
jQuery.preLoadImages(this.src);
var img = new Image();
$(img).load(function(){
imgsNumber++;
if(imgsNumber == $(“#container img”).length){
imgsNumber = 0;
$(“#loader”).fadeOut(“slow”, function(){
$(“#container”).css(“visibility”, “visible”).fadeIn();
});
}
}).attr(“src”,this.src);
});
Questa funzione è un po’ più complessa e funziona in questo modo:
- mostra un loader (ovviamente il div #loader va sostituito con il vostro div);
- imgsNumber conta il numero di immagini caricate (è essenziale per sapere quando sono tutte caricate);
- il pezzo di codice successivo invece scorre tutte le immagini nel blocco #container e per ognuna di esse creiamo un oggeto img al quale assegniamo l’immagine. Questo è il passo essenziale per risolvere il problema di cui sopra visto che, in questo modo l’evento load verrà generato anche se l’immagine è già in cache. In questo modo si riesce a contare il numero di immagini caricate e mostrarle quando sono tutte pronte;
- la parte finale (fadeOut e css) si occupano proprio di nascondere il loader e mostrare il div in questione;
- la chiamata alla funzione attr si occupa infine di assegnare il path dell’immagine all’oggetto img temporaneamente creato.
Questo è quanto. Se avete dubbi chiedete nei commenti.
Tags: immagini > javascript > jquery > load > Programming12th
GEN
KDE Italia si veste di nuovo
Posted by redsend | Filed under Linux
Riposto una segnalazione fattami dal Team di KDE Italia:
KDE Italia si rinnova!
Gli amministratori e i redattori del portale KDE Italia e del relativo forum sono lieti di comunicare a tutti gli utenti, attuali e potenziali, la messa on line del nuovo portale dedicato all’ambiente desktop della comunità KDE. KDE, che nella sua accezione di “insieme di software” è chiamato KDE Software Compilation, è un ambiente desktop per Linux, BSD e altri compatibili UNIX® che comprende una grande quantità di programmi utilizzabili anche su altre piattaforme come Microsoft® Windows® e Apple® Mac OS® X.
Nel comunicare l’apertura del nuovo e rinnovato portale e l’attivazione del nuovo forum, la squadra di KDE Italia invita tutti a farle visita sul nuovo portale raggiungibile al nuovo indirizzo http://www.kdeitalia.it
Il sito sarà, anche se per poco tempo, ancora raggiungibile dal vecchio indirizzo http://kde-it.org.
Nella progettazione del nuovo portale, che porta nuove idee e un aggiornamento della struttura amministrativa, attenzione particolare è stata fatta nell’agevolazione dei nuovi utenti a muovere i primi passi nel mondo di KDE.
Disponibile a rispondere a tutte le vostre domande nel nuovo forum, la squadra di KDE Italia vi saluta e vi aspetta numerosi anche solo per una veloce visita!
Tags: kde > Linux9th
GEN
Connessioni hsdpa su ubuntu 9.10
Posted by raphe | Filed under Linux
Mi è capitato, dopo l’aggiornamento a karmik, di non riuscire più a collegarmi tramite hsdpa con un samsung nc10. Dopo aver cercato tantissimo in rete ho scoperto che il problema è comune a tantissime persone, sia che utilizzino chiavette usb esterne (tipo vodafone, tim, 3, ecc.), sia che utilizzino le connessioni interne di alcuni netbook.
Nel mio caso il problema si è verificato su ubuntu netbook remix, ma credo valga in generale anche per ubuntu e, forse, per qualsiasi distribuzione gnome-based.
Dico questo perché il problema risiede nell’ultima versione del gestore delle connessioni (network-manager). Nel mio caso l’errore che si presentava era “Rete GSM disconnessa. Si è ora fuori rete.” ma ci sono svariati errori che dipendono tutti dal nuovo network-manager di gnome che gestisce in modo diverso le chiavette.
La soluzione di questo problema è quindi di fare un temporaneo downgrade del network manager alla versione per Jaunty. Facciamolo in questo modo:
- scaricare questi tre pacchetti manualmente: libnm-glib0, network-manager, network-manager-gnome (i link sono alle versioni 32 bit, se avete versioni diverse scaricate quella che vi serve da packages.ubuntu.com);
- disinstallate le vostre versioni dei pacchetti: network-manager, network-manager-gnome (dovrebbero essere versione 0.8);
- installate i tre pacchetti scaricati, nell’ordine in cui li ho elencati;
- per sicurezza, da synaptic, bloccate la versione dei tre pacchetti appena installati per evitare che ai successivi aggiornamenti vengano riportati alla 0.8.
Fatto questo e riavviato il sistema il network-manager dovrebbe permettervi di collegarvi correttamente alla vostra connessione 3G.
Tags: 3g > gnome > hsdpa > Linux > network-manager > ubuntu > umts


