Experimentos con HTML5 Canvas

Todos, en algún momento, deberíamos trabajar en algún proyecto paralelo. Artículos como A Guide To Personal Side Projects (publicado en Smashing Magazine) nos recuerdan sus beneficios, tanto personales como para nuestra carrera profesional. En el caso de un programador web, estos proyectos representan una oportunidad para estudiar y practicar con nuevas tecnologías, oportunidades que no suelen presentarse en nuestro trabajo diario.

En mi caso decidí experimentar con Canvas 2D. El resultado final se puede ver en http://raohmaru.com/lab/js/erdt/. Continúa leyendo Experimentos con HTML5 Canvas

Compartir en redes sociales y medir con Google Analytics

¿Gestionas las estadísticas de visitas de un sitio web con Google Analytics, y quieres medir la efectividad de los botones para compartir en redes sociales?

El código de seguimiento JavaScript de Google Analytics (Tracking Code, que carga en la página el archivo externo ga.js con todas las funcionalidades), dispone de una API en la que consta un método que permite este tipo de medición, el método _trackSocial(). Con él se pueden registrar las interacciones “sociales” de nuestro sitio y categorizarlas correctamente.

_gaq.push(['_trackSocial',  'theSocialNetwork', 'like', 'http://www.mysite.com/abc']);

El botón de Google+ invoca automáticamente éste método al ser activado y envía la información a nuestra cuenta de Google Analytics; pero si queremos medir las acciones de otras plataformas como Facebook o Twitter, entonces se requiere un poco más de trabajo e integración con las APIs de esos servicios. Continúa leyendo Compartir en redes sociales y medir con Google Analytics

use strict

Como si de un aviso de alguna hermética entidad se tratara, desde hace un par de años ha ido apareciendo en las entrañas de algunas librerías JavaScript y en ejemplos de código dispersos por la red la enigmática frase ‘use strict’.

¿Y qué demonios significa esta sentencia?

Más o menos indica al motor de interpretación de JavaScript de tu navegador favorito (y moderno, no me utilices Internet Explorer) que sea más restrictivo en la ejecución de scripts, un poco más seguro, y allá donde antes era permisivo y hacía la vista gorda ahora emita errores y regañe al programador.

Así por ejemplo, crear una variable global dentro del contexto de una función:

function testFunction()
{
    var localVar = true;
    globalVar = 4;
}
testFunction();

Continúa leyendo use strict

Imágenes que no dicen onLoad

JavaScript y la etiqueta <img> siempre han sido buenos amigos, desde aquellos días que  gracias a un pequeño script se precargaban todas las imágenes de una página, como por ejemplo los rollovers de ciertos botones.

var preload_imgs = ["image1.jpg", "image2.gif", "image3.jpg"];
for(var i=0; i<preload_imgs.length; i++)
{
	var img = new Image();
	img.src = preload_imgs[i];
}

¿Pero que ocurre cuando se crean o se tratan imágenes dinámicamente, y se quiere controlar el preciso momento en que están son (des)cargadas? Continúa leyendo Imágenes que no dicen onLoad