venerdì 19 giugno 2009

Passare variabili ad una pagina statica

Con un semplice javascript è possibile passare variabili ad una pagina html statica. E' un caso mi rendo conto abbastanza "limite", perchè normalmente, per i passaggi di dati si utilizzano linguaggi di programmazione come ASP o PHP, ma qualche volta mi è capitato di doverlo utilizzare, e se dovesse servire a qualcun altro, lo pubblico in questo post.



Innanzitutto i campi di utilizzo:

come detto, sicuramente su siti statici, e per creare pagine che fungano da template, alle quali passare dati dinamicamente.

Un esempio:
In questo sito, il box delle news in home page, si collega a una pagina, newsInt.html , alla quale viene passato un valore alla variabile concatenata "Pag". Il valore corrisponde a un file txt che contiene codice html, importato tramite ajax nella pagina newsInt.


In pratica è possibile raggiungere con url diretti, contenuti che si generano, in una pagina template statica, a seconda della variabile "id" della pagina che si vuole aprire. Esattamente come avviene per un sito dinamico.

Inserite nell'header della pagina, o in un js esterno, questo javascript:


// JavaScript Document
function get_parametro(nome){
if(!window.location.search) {
alert("nessun parametro");
return false;
}
var qst = window.location.search.substr(1);
var dati = qst.split(/\&/);
var valore = '';
for (var i=0; i < dati.length; i++) {
var tmp = dati[i].split(/\=/);
if (tmp[0] == nome) {
alert("trovato parametro "+nome+" con valore "+tmp[1]);
return tmp[1];

}
}
//alert("parametro "+nome+" non e` presente nella query");
return false;
}

////

Nella pagina html inserite il javascript:

< script language="javascript" type="text/javascript" >

var str="id";
var n=get_parametro(str);

< /script >





provate poi a lanciare la pagina prima senza passare alcuna variabile e poi concatenandogli "?id=valore"



Clicca qui per vedere una demo

0 commenti: