Visualizzare un messaggio ai visitatori che usano AdBlock Plus o simili

Ci sono due categorie di utenti del web: i webmaster che riempiono i propri siti con banner pubblicitari esasperando i visitatori e quelli che non vogliono vedere neanche un banner e utilizzano estensioni per i browser come AdBlock Plus. In mezzo invece c’è tutto un universo in cui le persone possono contribuire alla sostenibilità economica di siti web gratuiti visualizzando, e se interessati cliccando, sui banner pubblicitari. Siamo sicuri che chi attiva quel genere di estensioni abbia ben chiaro il danno che arrecano ai siti web che forniscono un servizio basandosi proprio sulle entrate garantite dai banner? Proviamo a sensibilizzarli visualizzando un messaggio usando questo semplice Javascript. Continua a leggere »

3 commenti »

Utilizzare CORS per effettuare richieste Ajax verso un dominio diverso da quello corrente

Ajax sta per Asynchronous Javascript and XML, ovvero Javascript e XML asincrono, ed è una tecnologia usatissima in ambito web per fare in modo che gli script di una pagina possano recuperare dati da una fonte esterna. Questa tecnologia si scontra con la same origin policy che impedisce ai browser  (o almeno ci prova) di comunicare con siti terzi. Però la soluzione c’è  si chiama Cross-origin resource sharing (CORS). Continua a leggere »

2 commenti »

Javascript 5.1, arriva lo strict mode

Uno dei problemi che si incontrano spesso nell’utilizzo di linguaggi di scripting è quello della dichiarazione delle variabili, o meglio, della loro non dichiarazione. L’interprete, non avendo bisogno di dover allocare a priori lo spazio dedicato alla variabile, vi permette di dichiararla quando serve o non dichiararla affatto e utilizzarla e basta. Tutto molto comodo, ma un uso poco attendo di questa feature può portare a bug di difficile identificazione, in particolare se si usano le variabili globali.
Con ECMAScript/Javascript 5.1 viene quindi introdotto lo strict mode che permette di evitare tutto questo. L’interprete identificherà quindi tutte le pratiche poco affidabili e ve le segnalerà come errori.

Abilitare lo strict mode è semplicissimo.  Basta posizionare in cima al file la riga:

"use strict";

Il fatto che sia una semplice stringa permette di non avere errori su browser vecchi che non la riconoscono.

Tra le cose più utili segnalate c’è l’uso di una variabile non dichiarata che senza ombra di dubbio è la madre di un sacco di bug. Viene segnalato come errore anche l’uso del comando with che è uno dei modi per rendere il codice particolarmente poco chiaro e incline agli errori. Inoltre vengono anche segnalati, tra le altre che trovate nel link sopra, la doppia definizione di una proprietà di un oggetto o l’uso di due parametri con lo stesso nome.

Javascript 5.1 è supportato da tutti i browser di ultima generazione: Opera 11.60, Internet Explorer 9, Firefox 4, Safari 5.1, Chrome 13.files/files/

2 commenti »

Due funzioni Javascript per la gestione delle classi multiple

A volte si ha la necessità di dover associare ad un elemento più di una classe. In tal caso si associa all’attributo className una lista separata da spazi. La gestione via Javascript risulta non semplicissima perché bisogna andare ad analizzare il testo.

Visto che avevo la necessità ho scritto le due funzioni che servono:


function addClassName(d, n) {
if (hasClassName(d, n)) return;
if (d.className == '') {
d.className = n;
} else if (d.className.search("\b"+n+"\b") == -1) {
d.className += ' '+n;
}
}

function delClassName(d, n) {
var s = d.className.replace(new RegExp("\b"+n+"\b"), " ");
s = s.replace(/s+/g, ' ');
d.className = s.replace(/(^s|s$)/g, '');
}

function hasClassName(d, n) {
return d.className.search("\b"+n+"\b") == -1 ? false : true;
}

Qui potete scaricare Javascript Multi Classes.
Qui invece una paginetta di esempio

2 commenti »

HTML5 Canvas e Frattali

Tra le novità più interessanti di HTML5 c’è il tag Canvas che permette di visualizzare un’immagine raster generata real time. In questo articolo troverete un esempio di applicazione, un frattale, realizzata proprio col canvas.

Continua a leggere »

4 commenti »

File upload con Ajax

AJAX, o per essere più precisi l’oggetto XMLHttpRequest (XHR), sono una gran bella cosa e permettono di rendere molto più dinamiche e gradevoli le pagine web. Questo meccanismo ha però una mancanza che salta fuori nel momento in cui si stanno realizzando delle interfacce che permettono l’upload di file: semplicemente non è possibile.

Continua a leggere »

7 commenti »

Manipolare il testo selezionato di una textarea via Javascript

Manipolare il testo interno ad una textarea è un’attività che è richiesta nel momento in cui si realizzano dei editor testuali che offrono la possibilità all’utente di aggiungere dei tag particolari o di svolgere alcune attività ripetitive. Un esempio può essere il form di inserimento dei post in un forum con i pulsanti per aggiungere il BBCode per il grassetto, il corsivo, ecc… Continua a leggere »

4 commenti »