Buenos días a todos, tengo un problema que si bien sé resolverlo a lo burro quizá alguien conozca un atajo. Hace años hice una web en un servidor gratuito, el caso es que recibe muchas visitas y quiero renovarlo pero existe una limitación, solo puedo usar html, css y javascipt. Nada de php, asp... en fin, limitaciones del servidor.
En lugar de usar una base de datos (tampoco nada de myql) me veo obligado a usar una array de donde extraigo los datos para búsquedas y usar más tarde.
Hasta aquí todo funciona. Es una página de setas y hay mogollón, para no tener que crear montones de html he creado un html que recibirá las variables con javascript a través de la url (ya he dicho que no me queda otra con un sencillo $_GET ya estaba), aquí la función:
Código:
function getUrlVars()
{
var vars = [], hash;
var hashes = this.location.href.slice(this.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var hash = getUrlVars();
Recojo, por ejemplo el id y la descripción:
var id=hash['id'];
var des=hash['des'];
Y, claro, en Firefox u Opera me llena todo de %20 %EF %BF y lo único que se me ocurre al recibir la variable usar el método replace() lo cual es un coñazo. Ahí va la pregunta: ¿existe una manera más eficiente de arreglar esto?.
Acepto alternativas, sugerencias, lo que sea. Gracias a todos.