Enabling “reading mode” on your website

Many modern browsers nowadays have a sort of “reading mode”, which, when activated, will attempt to automatically extract content from a page and present it to the user in a more reader-friendly environment. In Firefox, this is called “Reader View”, and can be found as a little book icon in the URL bar or under

URL rewriting con mod_rewrite

Spesso e volentieri, sul web, si incontrano degli indirizzi URL “brutti”: http://weblog.zumguy.com/read.php?id=42 Questi indirizzi non hanno nessun significato per un utente, sono pieni di numeri, punti di domanda ed altri strani segni  – difficili da memorizzare o da ripetere ad un amico. E non bisogna nemmeno dimenticare il Search Engine, per cui l’URL è molto

Creating a basic log-in system

While building a website network like that of ZumGuy, there are certain elements and applications one will find oneself creating over and over. One of these is a simple PHP-based login system, and to save myself some time I have come up with a modular file I can simply copy-paste wherever it is needed. What

HTML5: definire attributi arbitrari

Sebbene sia sempre stato tecnicamente possibile aggiungere un attributo “personalizzato” ad un tag HTML, questa pratica non era ufficialmente accettata, e risultava in un markup considerato “invalido”. Ad esempio: <img src=”…” alt=”…” title=”…” id=”myImg” titolo-speciale=”valore” /> Con HTML 5 è ora diventato ufficialmente possibile specificare attributi speciali semplicemente prefissando il nome con data-, ossia nella

PHP: generare una stringa casuale

Si tratta di un’applicazione semplice ed estremamente utile per una varietà di applicazioni.Definiamo la funzione str_rand, che si basa su mt_rand di PHP, per generare la stringa: function str_rand(len = 32, chars=’0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’) { str = ”; for (i = 0; i < len; i++) { str .= chars[mt_rand(0, strlen(chars) - 1)]; } return $str; }

Eventi personalizzati in JavaScript

Spesso può rivelarsi utile creare degli eventi personalizzati oltre a quelli esistenti. Il metodo più semplice funziona così: var event = new CustomEvent(‘nomeEvento’); // Ascoltiamo su un elemento: elem.addEventListener(‘nomeEvento’, function(e){…}); // Trigger: event.dispatchEvent(event); Questo metodo funziona su tutti browser più moderni – tranne Internet Explorer. Per funzionare anche con browser antiquati e in IE, dobbiamo

JavaScript: corretta iterazione di liste

In programmazione capita spessissimo di dover iterare una lista di elementi. In JavaScript, questo è abbastanza semplice per degli Array (che in JavaScript hanno solo indici numerici) – basta usare un loop for ‘classico’: abc = [‘a’, ‘b’, ‘c’] for (var i = 0; i < abc.length; i++) { console.log(abc[i]); } A questo esempio si