Clase XHConn

Hasta ahora no he utilizado librerías javascript, únicamente algún componente configurable (calendario, autocompletado...), quizás porque no soy un apasionado de javascript y no las he trasteado, además de que utilizando algunos de esos componentes me he tenido que liar con su código para modificar algún detalle a mi gusto.

Cosa que nunca me ha pasado con la clase XHConn, que es una sencilla clase que soluciona los problemas de las compatibilidades entre navegadores al crear un objeto XMLHTTPRequest, y nos ahorra ese trabajo.

Su uso es muy sencillo, sólo tiene un método, connect al que se le pasan la url, el method(POST/GET), parametros de la url y la función de callback

Aquí un ejemplo:

//Instanciamos el objeto
var con = new XHConn();
//Comprobamos que el navegador tenga soporte al objeto XMLHTTPRequest
if (!con) alert("El navegador no soporta el objeto XMLHTTPRequest.");
//Definimos la función de callback
var fnWhenDone = function (obj) { alert(obj.responseText); };
//Llamamos al método connect
con.connect("urldeejemplo.php", "POST", "parametro1=a¶metro2=b", fnWhenDone);

Curiosidad con un array JSON

Últimamente estoy empezando a utilizar JSON en vez de XML para recuperar datos con llamadas al objeto XMLHTTPRequest.
Trasteando, me he encontrado al devolver un array de objetos , que me daba un error en Iexplorer mientras que en Firefox funcionaba correctamente.

Esto se debía a un error mío, simplemente, a que me había colado al montar el array en el lado del servidor poniendo una coma ',' al final del último objeto del array y explorer contaba como si tuviera un objeto más, mientras que firefox no.

Ej:

{"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "New", "onclick": "CreateNewDoc()"},
]}

En vez de:

{"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "New", "onclick": "CreateNewDoc()"}
]}

El error era mío, esto está claro, ¿pero no sería más lógico que los dos navegadores, al hacer el eval(), dieran error de javascript?, ¿o cuál sería el comportamiento más correcto?

Tuitermaps, jugando con google maps

Hace un tiempo, estuve un par de días jugando un poco con el api de google maps y el de twitter, más que nada por la excusa del google maps, la de twitter es muy sencilla (bueno, twitter en sí lo es). El resultado es TuiterMaps.

Es algo parecido a twittermap, puedes ver de dónde son las personas que escriben, siempre que tegan puesto en su perfil el location.
En un principio muestra los mensajes del public timeline, también se puede seleccionar un usario en concreto y un usuario con sus amigos.

Es muy chorras, pero ya he visto lo fácil que es mostrar una localización gracias a la clase GClientGeocoder, simplemente le pasas al método getLatLng una cadena de la localización y una función callback que recibe un obeto GLatLng, y a partir de ahí puedes crear un GMarker para añadir al mapa.

Lo que le falta es un poco de diseño, pero para eso yo soy muy malo.

El Kalimotxo de Mamá

Lo tenía que poner, hace ya unos días que vi el vídeo de el Kalimotxo de Mamá, y hoy siendo viernes y con los San Fermines tan cerca me hace gracia ponerlo.

Como curiosidad, como podréis haber visto es un vídeo que nos presenta Kukuxumusu, la canción la ha compuesto y canta Pablo Carbonell y la dirección es de Juanma Bajo Ulloa, más sobre el video en sanfermin.com.

Por cierto, este año espero volver a estar por Pamlona por tercer año consecutivo, por la zona de la calle estafeta, hasta que llegue el encierro :).