Haciendo que lacuerda.net apeste menos con jQuery.

Probablemente una de las cosas en las que más disfruto perder el tiempo cuando estoy en mi casa es abrir el repositorio de tablaturas de lacuerda.net (antes atame) e intentar tocar en mi guitarra algunas canciones.

La cuerda es sin duda el sitio de tablaturas en español más popular y es el que tiene más canciones disponibles lo que lo hace la opción defacto para esas tardes de ocio, pero la usabilidad del sitio es – por dejarselas barata-- un asco. De entre las cosas más desesperantes que tiene es que en algun momento alguien decidió ponerse retro, regresar a 1999 y remplazar todos los urls de las tablaturas por algo tipo href=“javascript:j(‘alla_en_el_rancho_grande’,2)” que llama a una función que redirige al usuario a la url correcta.

Imagino que lo hicieron porque quieren asegurarse de que ningún listillo ande por ahí viendo tablaturas con el javascript deshabilitado ya que entonces no habría manera de obligarlos a ver esos molestosy obtrusivos pop-ups de mercado libre.

Pero bueno, hay que combatir fuego con fuego y javascript con javascript.

Gracias a un tutorial de John Resig y a la super-increíble recién-descubierta-por-mi librería jQuery hice un bookmarklet que regresa todos esos hrefs a urls comunes y corrientes.

Pa instalar el bookmarklet arrastren a su barra de vinculos el siguiente link–> Estúpido Wordpress quien sabe qué hace que no puedo poner el link del bookmarklet. Argh que frustración. Quien lo quiera probar, va a tener que crear un nuevo bookmark y pegar en la dirección el siguiente codigo:

javascript:var%20s=document.createElement('script');s.setAttribute('src',%20'http://jquery.com/src/jquery-latest.js');document.body.appendChild(s);s.onload=function(){$("td a[@href*='javascript']").each(function(){a=this.href;s=a.substr(14,(a.length-4-14));n=a.substr(a.length-2,1);this.href=((n==1)?location+s+'.shtml':url=location+s+'-'+n+'.shtml').replace('busca.php','tabs/');})};void(s);

No lo he probado, pero debería funcionar en todos los navegadores. Y si tengo tiempo, este fin de semana lo adapto a un script de Greasemonkey que de paso nos libre de los asquerosos pop-ups de mercado libre

Ah y por si a alguien le interesa, aca el codigo de la función pa que vean que bonito es jQuery:

$(“td a[@href*=‘javascript’]”).each(
function(){
a=this.href;
sn=a.substr(14,(a.length-4-14));
num=a.substr(a.length-2,1);
if (num==1) url=location+sn+’.shtml’; else url=location+sn+’-’+num+’.shtml’;
this.href=url;
}
)

P.D. No puede ser que me haya tomado más tiempo intentar – sin exito-- postear el bookmarklet que crearlo. Ya recordé porque odiaba WP.