A Javascript Example
In questa sezione è contenuto un esempio creato da me, sfruttando in parte librerie disponibili in rete per la gestione di parte della situazione.
Problema: Come ricevere la pagina di provenieneza e informazioni sulla configurazione del computer di un utente che ci vuole contattare comodamente nella propria mail?
Elementi necessari: Per risolvere ottimalmente questo problema ho interfacciato un mio script con uno scrip perl proveniente da Matt's Archive. Le funzioni getCookie() e setCookie() le ho trovate in diversi file nella mia cache... provengono Duncan Crombie (dcrombie@chirp.com.au). La funzione MM_callJS(jsStr) l'ho lasciata fare a Dreamweaver.
Creare un cookie nella home page che registri i dati degli utenti. Per farlo, includere nella sezione <head> del file il codice seguente:
<script language="JavaScript"> var bikky = document.cookie; var today = new Date(); var expiry = new Date(today.getTime() + 60 * 24 * 60 * 60 * 1000); function setCookie(name, value) { // use: setCookie("name", value); if (value != null && value != "") document.cookie=name + "=" + escape(value) + "; expires=" + expiry.toGMTString(); bikky = document.cookie; // update bikky } </script>
A questo punto includete da qualche parte nel vostro file:
<script language="JavaScript"> var nextyear = new Date(); nextyear.setFullYear(nextyear.getFullYear() +1); setCookie ("version", document.lastModified); setCookie ("provenienza", document.referrer); setCookie ("lang", navigator.language); setCookie ("os", navigator.platform);
</script>
Per ricevere i dati del vostro utente dovete creare un modulo (anche in un'altra pagina, come nel mio caso).
La limitazione di questo script è che l'utente deve cliccare su una checkbox nel vostro modulo.
<script language="JavaScript">
var bikky = document.cookie;
function getCookie(name)
{ // use: getCookie("name");
var index = bikky.indexOf(name + "=");
if (index == -1) return null;
index = bikky.indexOf("=", index) + 1;
var endstr = bikky.indexOf(";", index);
if (endstr == -1) endstr = bikky.length;
return unescape(bikky.substring(index, endstr));
}
function dati()
{
valcookie = "Pagina provenienza= " + getCookie ("provenienza") +
"; Lingua= " + getCookie ("lang") + "; Os= " + getCookie ("os");
document.modulo.Dati.value = valcookie;
}
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
</script>
A questo punto inserite una checkbox nel vostro modulo con il seguente codice:
<input type="checkbox" name="Dati" onClick="MM_callJS('dati()')">
Il gioco è fatto. Quando l'utente cliccherà sul checkbox (voi dovete fare in modo ch ci clicchi), i dati del cookie verranno associati alla variabile e poi trasmessi. L'ideale è usare per trasmettere e decodificare il form qualcosa come FormMail.pl.