ASPcenter.net

8 febbraio 2010

Rotazione banner in ASP con XML e Javascript

Archiviato in: Banner e Advertising — Tag:, , , , — lukeonweb @ 11:00

In questo articolo vedremo come realizzare un semplice sistema di rotazione banner mescolando un po di linguaggi: XML che ospita i dati relativi alle immagini ed ai relativi link, ASP come linguaggio lato server per l’interfaccia con XMLDOM che, a sua volta, accede alla struttura XML, e Javascript per l’esposizione locale o remota dei dati in qualsiasi tipo di file (anche semplici file HTML).

Vediamo un esempio pratico. Si crei la cartella banner sul proprio server Web.

Iniziamo con la struttura del file XML contenuta nel file banner.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<banner>
    <spot>
        <immagine>mrwcorsi.gif</immagine>
        <collegamento>http://www.mrwcorsi.it</collegamento>
    </spot>
    <spot>
        <immagine>mrwebmaster.gif</immagine>
        <collegamento>http://www.mrwebmaster.it</collegamento>
    </spot>
</banner>

Una semplice struttura che specifica l’immagine rappresentante il banner ed il collegamento associato alla URL del sito da sponsorizzare.

Passiamo al codice ASP e Javascript; si crei il file banner.asp e lo si corredi del seguente codice, opportunamente commentato:

<%@LANGUAGE = VBScript%>
<%
    ' Intestazioni della pagina
    Option Explicit
    On Error Resume Next

    ' Dichiarazione delle variabili
    Dim xmldom, imm, col, cas

    ' Impostazioni dell'oggetto XMLDOM e caricamento del file XML
    Set xmldom = Server.CreateObject("Microsoft.XMLDOM")
    xmldom.Async = False
    xmldom.Load Server.MapPath("banner.xml")

    ' Caricamento dei nodi XML
    Set imm = xmldom.getElementsByTagName("spot/immagine")
    Set col = xmldom.getElementsByTagName("spot/collegamento")

    ' Restituzione di un numero casuale legato alla struttura XML
    Randomize()
    cas = CInt(Rnd() * (imm.length - 1))
%>

// Codice Javascript per la costruzione dinamica del banner
function Banner(url)
{
    window.open(url);
}
with (document)
{
    write("<%="<img id=BANNER src=" & imm(cas).Text & " "%>");
    write("<%="onclick=Banner('" & col(cas).Text & "')>"%>");
}
document.getElementById("BANNER").style.cursor = "pointer";

<%
    ' Un po di pulizia...
    Set immagine = Nothing
    Set collegamento = Nothing
    Set xmldom = Nothing
%>

In fine si utilizzi il seguente codice nelle pagine in cui si desidera richiamare il banner:

<script type="text/javascript" src="banner.asp"></script>

Si lanci il proprio browser all’indirizzo:

http://localhost/banner/banner.html

per gustare il risultato.

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

ASPcenter.net è il blog italiano su ASP, ASP.Net, VB.Net, C# e Visual Studio - Funziona con WordPress