L’headerbanner è uno strumento di advertising basato su un div posizionato staticamente in cima alla pagina. Questa versione è basata su jquery [1] e richiede il plugin jquery.cookie [2] come requisito primario. L’implementazione è semplice e non richiede più di qualche minuto per la personalizzazione.
E’ possibile visualizzare la demo dello script in questa pagina [3].
Prima di tutto apriamo il file jquery.headerbanner.js e modifichiamo le variabili principali:
/****************************/
/* CONFIGURATION */
/****************************/
var fb_defaults = {
hb_pagesdir : 'http://www.sito.it/advertising/jquery.headerbanner',
hb_cssurl : 'http://www.sito.it/advertising/jquery.headerbanner/css',
hb_imgdir : 'http://www.sito.it/advertising/jquery.headerbanner/img',
hb_closetime : '30 sec',
hb_cookielife : '20 min',
hb_advpage : 'headerbanner.htm',
hb_advwidth : '99.9%',
hb_advheight : '60px',
hb_id : 'hb',
hb_fadefx : 'y',
hb_speedfx : 'fast',
hb_showborder : 'y',
hb_closebutton : 'y',
hb_maindomain : 'n',
hb_alignment : 'c',
hb_mbottom : '0',
hb_imgname : 'hb_close.png',
hb_maxscreen_w : '800'
};
// set array to hide (visibility=hidden) some elements which may contain flash stuff
hb_hide_elem = new Array();
// set array to hide (display=none) some elements which may contain flash stuff
hb_none_elem = new Array();
// set main domain if you have some subdomains in the same site
hb_site_cookname = new Array();
/****************************/
/* END CONFIGURATION */
/****************************/
Analizziamo ogni singolo parametro:
-
hb_pagesdir
Indica l’URL assoluto che porta alla cartella in cui avete caricato i file dell’headerbanner. Nessuno slash finale.
-
hb_cssurl
Indica l’URL assoluto alla cartella in cui sono contenuti i fogli di stile. Nessuno slash finale.
-
hb_imgdir
Indica l’URL assoluto alla cartella in cui è contenuta l’immagine del bottone di chiusura. Nessuno slash finale.
-
hb_closetime
E’ il tempo di chiusura automatica dell’headerbanner. Sono ammesse le seguenti unità di tempo: “sec“, “min“, “hou“, “day” rispettivamente per secondi, minuti, ore e giorni. Es.: “30 sec”.
-
hb_cookielife
E’ il tempo che deve intercorrere tra una visualizzazione e l’altra dell’headerbanner. Sono ammesse le seguenti unità di tempo: “sec“, “min“, “hou“, “day” rispettivamente per secondi, minuti, ore e giorni. Es.: “20 min”.
-
hb_advpage
E’ la pagina (html, php, asp, etc) contenente il codice della campagna advertising. Deve essere posizionata nella cartella definita precedentemente da “hb_pagesdir“.
-
hb_advwidth
Indica la lunghezza che dovrà avere l’headerbanner. E’ necessario includere l’unità di misura come ad esempio ‘%’ o ‘px’. Se esprimete la lunghezza in percentuale consiglio di non inserire 100% ma 99.9%. Questo per evitare la comparsa di scrollbar orizzontali con alcuni browser (a meno che non impostiate una regola css specifica per l’overflow ovviamente.)
-
hb_advheight
Indica l’altezza che dovrà avere l’headerbanner. E’ necessario includere l’unità di misura. Ad esempio % o px.
-
hb_id
E’ un prefisso identificativo del cookie. Se viene utilizzato un headerbanner alla volta basta lasciarlo così altrimenti è necessario personalizzarlo ad ogni chiamata. Successivamente verrà spiegato come fare.
-
hb_fadefx
Se impostato su “y” verrà visualizzato un effetto “fade” sull’headerbanner. L’alternativa è “n”.
-
hb_speedfx
Se viene attivato l’effetto “fade” potete scegliere la velocità di esecuzione. Possibili parametri: “slow” e “fast”.
-
hb_showborder
Mostra o meno un bordo intorno all’headerbanner. Possibili parametri: “y” e “n”.
-
hb_maindomain
Normalmente dovrebbe essere lasciato su “n”. Viene impostato su “y” quando è necessario visualizzare lo stesso headerbanner su siti di terzo livello appartenenti allo stesso dominio.
Un esempio chiarirà meglio la situazione. Si supponga di avere http://www.sito.it e http://terzo.sito.it. Impostando la variabile su “n” ed inserendo un headerbanner in ciascuno dei due siti, al primo caricamento l’utente vedrà entrambi gli annunci senza che il cookie del primo influenzi la visualizzazione del secondo. Viceversa mettendo la variabile su “y”, il cookie dato all’utente al caricamento del primo annuncio varrà anche per il secondo sito. -
hb_alignment
Indica l’allineamento dell’headerbanner. Se la lunghezza non raggiunge il totale della pagina possiamo decidere l’allineamento a sinistra piuttosto che centrato. Possibili valori “c” oppure “l”.
-
hb_mbottom
Permette di impostare un margine inferiore all’headerbanner. Vanno inseriti solo numeri senza unità di misura. Di norma può essere lasciato a zero.
-
hb_imgname
Indica il nome dell’immagine per il bottone di chiusura. L’immagine viene cercata all’interno del percorso impostato con la variabile “hb_imgdir”.
-
hb_maxscreen_w
Indica la lunghezza minima che deve avere la risoluzione dell’utente per poter visualizzare l’headerbanner. Supponiamo di impostare un valore pari a 800. Tutti i browser con risoluzione dello schermo inferiore a questo valore non vedranno la campagna pubblicitaria. Inserire solo numeri senza unità di misura!
Questo per quanto riguarda le variabili principali. Rimangono 3 array da poter personalizzare in base alle necessità:
-
hb_hide_elem = new Array();
Indica gli ID degli elementi html che devono essere nascosti al caricamento dell’headerbanner. Ad esempio un div, o un qualsiasi altro contenitore di filmati flash, potrebbe creare problemi di visualizzazione. Per risolvere basta inserire gli ID di quegli elementi che vogliamo momentaneamente nascondere. Torneranno visibili alla chiusura della campagna pubblicitaria. Es.: new Array(‘elem1′,’wrapper’);
-
hb_none_elem = new Array();
Simile al parametro precedente tranne per il fatto che viene utilizzata la direttiva “display” al posto di “visibility“. Ciò significa che gli elementi inseriti in questo array verranno nascosti e modificheranno “lo spazio” nella pagina. Torneranno visibili alla chiusura della campagna pubblicitaria. Es.: new Array(‘elem1′,’wrapper’);
-
hb_site_cookname = new Array();
Facciamo un passo indietro e torniamo alla variabile “hb_maindomain“. Se impostata su “y” è necessario inserire i domini per cui far valere il cookie. Nell’esempio precedente è stato fatto il caso di due siti: “http://www.sito.it” e “http://terzo.sito.it”. In questo caso basta inserire il dominio di secondo livello “sito.it” nell’array (senza www o altro prefisso).
L’opera di personalizzazione è terminata. Passiamo alla fase di inserimento del codice. Per prima cosa richiamiamo i javascript necessari nell’head della pagina:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="jquery.headerbanner.js"></script>
Le prime due righe, come è evidente, caricano il framework “jquery” e il plugin “jquery.cookie”. L’ultimo script, invece, è l’headerbanner.
Subito dopo inseriamo la chiamata alla funzione principale:
<script type="text/javascript">
$(document).ready(function() {
$().headerbanner();
});
</script>
Visto che abbiamo personalizzato il codice direttamente nel file “jquery.headerbanner.js“, è stato possibile inserire solamente il nome della funzione senza parametri.
Supponiamo, invece, di voler utilizzare headerbanner diversi nello stesso sito. Possiamo sovrascrivere le variabili di default, impostate precedentemente, in questa maniera:
<script type="text/javascript">
$(document).ready(function() {
$().headerbanner({
hb_advheight: '180px',
hb_closetime: '5 sec',
hb_advwidth: '100%',
hb_cookielife: '5 sec',
hb_id:'head1'
});
});
</script>
In questa maniera otteniamo l’importante risultato di poter attivare headerbanner diversi ed indipendenti (nel cookie, nella pagina da richiamare, nelle opzioni, etc) richiamando sempre e solo gli stessi file javascript. Possiamo inserire e sovrascrivere tutte le variabili viste in precedenza.
Il codice è stato testato sui più diffusi browser in circolazione e non dovrebbero esserci problemi di compatibilità.
Download
Il pacchetto .zip contiene tutti i file necessari (compresi jQuery ed il plugin jquery.cookie). Per scaricare lo script cliccate sul link: Saibal jQuery Headerbanner [4]