<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Juan Benavides &#187; mootools</title>
	<atom:link href="http://juanbenavides.info/tag/mootools/feed/" rel="self" type="application/rss+xml" />
	<link>http://juanbenavides.info</link>
	<description>Anotaciones de un Geek</description>
	<lastBuildDate>Tue, 25 Oct 2011 05:08:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Fondos múltiples animados con CSS y Mootools</title>
		<link>http://juanbenavides.info/fondos-multiples-animados-con-css-y-mootools/2009/12/</link>
		<comments>http://juanbenavides.info/fondos-multiples-animados-con-css-y-mootools/2009/12/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 07:13:59 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Diseño]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[animaciones]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=252</guid>
		<description><![CDATA[Visitando el sitio de Code and Theory quedé algo asombrado de lo que habían hecho con el encabezado. Una animación muy sutil, pero da un aire muy elegante al sitio. Así que me puse a tirar un poco de código para probar el rendimiento de una animación de ese tamaño -verán, yo la quería de [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juanbenavides.info/wp-content/uploads/2009/12/letsrock.jpg" alt="" title="letsrock" width="700" height="418" class="alignnone size-full wp-image-253" /></p>
<p>Visitando el sitio de <a href="http://www.codeandtheory.com/">Code and Theory</a> quedé algo asombrado de lo que habían hecho con el encabezado. Una animación muy sutil, pero da un aire muy elegante al sitio. Así que me puse a tirar un poco de código para probar el rendimiento de una animación de ese tamaño -verán, yo la quería de fondo completo :D</p>
<p>He aquí el resultado: <a href="http://juanbenavides.info/experimentos/fondos-multiples/">demo</a>.</p>
<p>Evidentemente le hace falta detector de imagenes cargadas antes de cada animación. Lo resolví temporalmente con un hack pero solo probado en Firefox, en Opera hay que esperar la ronda de 18 segundos para que las imagenes queden en caché y la animación sea fluida.</p>
<p>Estoy en proceso de rediseñar algunos sitios y este es un efecto que quiero introducir más adelante, así que era necesario jugar un poco por ahora. El código completo <a href="http://juanbenavides.info/experimentos/fondos-multiples.rar">aquí</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/fondos-multiples-animados-con-css-y-mootools/2009/12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Referencia Rápida de Mootools 1.2.x</title>
		<link>http://juanbenavides.info/referencia-rapida-de-mootools-12x/2009/04/</link>
		<comments>http://juanbenavides.info/referencia-rapida-de-mootools-12x/2009/04/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 22:03:34 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=177</guid>
		<description><![CDATA[Leyendo varios blogs he acabado en uno muy bueno con 14 hojas de referencia rápida para diseño web, de entre las que destacan esta hoja de CSS y la hoja de Mootools 2.1. En cualquier caso recomiendo que, si estas empezando con Mootools, te bajes una versión del framework sin compresión y con comentarios. No [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://juanbenavides.info/wp-content/uploads/2009/04/mootools-cheat-sheet-demo.jpg" alt="mootools-cheat-sheet-demo" title="mootools-cheat-sheet-demo" width="700" height="300" class="alignnone size-full wp-image-178" /></p>
<p>Leyendo varios blogs he acabado en uno muy bueno con <a href="http://delimitdesign.com/design/14-incredibly-useful-web-design-cheat-sheets/">14 hojas de referencia rápida para diseño web</a>, de entre las que destacan <a href="http://www.webtutoriales.com/tutoriales/html-css/hoja-referencia-css.26.html">esta hoja de CSS</a> y <a href="http://mediavrog.net/blog/2008/06/11/mootools/mootools-12-cheat-sheet/">la hoja de Mootools 2.1</a>.</p>
<p>En cualquier caso recomiendo que, si estas empezando con <a href="http://mootools.net/">Mootools</a>, te bajes una versión del framework sin compresión y con comentarios. <strong>No le tengas miedo al código del framework</strong>, está tan bien escrito que es como leer poesía en la programación. Gracias a sus estandares, podemos consultar el código -que es perfectamente entendible- y aprender mucho para desarrollar nuestras aplicaciones.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/referencia-rapida-de-mootools-12x/2009/04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interceptando la salida accidental del usuario</title>
		<link>http://juanbenavides.info/interceptando-la-salida-accidental-del-usuario/2009/02/</link>
		<comments>http://juanbenavides.info/interceptando-la-salida-accidental-del-usuario/2009/02/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 15:39:14 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=143</guid>
		<description><![CDATA[El problema (y lo detecte gracias a mi madre :P), es, ¿y que si el usuario presiona F5 cuando va a la mitad de un enorme formulario? No es culpa del usuario, pero incluso cuando me pasa a mi, me da tanto coraje perder lo que había llenado por tan tremenda tontería, que se me [...]]]></description>
			<content:encoded><![CDATA[<p>El problema (y lo detecte gracias a mi madre :P), es, ¿y que si el usuario presiona F5 cuando va a la mitad de un enorme formulario? No es culpa del usuario, pero incluso cuando me pasa a mi, me da tanto coraje perder lo que había llenado por tan tremenda tontería, que se me quitan las ganas de volverlo a intentar.</p>
<p>No queda opción, hay que interceptar cuando el usuario presiona ciertas teclas en ciertos lugares. Por suerte, fue muy fácil hacerlo. Para <strong>Mootools</strong> el script sería así:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">window.<span style="color: #660066;">addEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'domready'</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div.no-f5'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">length</span> <span style="color: #339933;">&gt;</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		document.<span style="color: #660066;">addEvent</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'keydown'</span><span style="color: #339933;">,</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #003366; font-weight: bold;">var</span> tag <span style="color: #339933;">=</span> event.<span style="color: #660066;">target</span>.<span style="color: #660066;">tagName</span>.<span style="color: #660066;">toLowerCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>event.<span style="color: #660066;">key</span><span style="color: #339933;">==</span><span style="color: #3366CC;">'f5'</span> <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #660066;">key</span><span style="color: #339933;">==</span><span style="color: #3366CC;">'backspace'</span> <span style="color: #339933;">&amp;&amp;</span> tag<span style="color: #339933;">!=</span><span style="color: #3366CC;">'input'</span> <span style="color: #339933;">&amp;&amp;</span> tag<span style="color: #339933;">!=</span><span style="color: #3366CC;">'textarea'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
				event.<span style="color: #000066;">stop</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Revisamos si existe un <code>div.no-f5</code>, que no es más que una <em>clase bandera</em>, para saber si en esa pantalla necesitaré del script. Si procede, creo el evento <em>keydown</em> para el documento. Cuando el evento suceda, comprobamos a que elemento se está <em>apuntando</em>, pues no queremos interceptar el <em>backspace</em> cuando el usuario esta escribiendo en algún campo de texto, pero si en cualquier otro caso pues lo regresaría a la pantalla anterior. La tecla <em>F5</em> la interceptamos en todo momento.</p>
<p>Al mismo tiempo, descubrí (todo por no leer en su momento), que <em>Mootols</em> no extiende el objeto <code>event.target</code> con <code>$</code>, por razones de rendimiento. Así que si los chicos de Moo tuvieron buenas razones, decidí no extenderlo aunque hacer un <code>$(event.target).get('tag')</code> era muy tentador&#8230; pero hacerlo con Javascript nativo es muy fácil y <em>cross browser</em>.</p>
<p>Tanto el problema como la solución son detalles muy simples y normalmente subestimadas, pero seguro salvas a algún usuario de que se arranque el cabello mientras llenaba un enorme formulario.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/interceptando-la-salida-accidental-del-usuario/2009/02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last.fm y otras mejoras en el blog</title>
		<link>http://juanbenavides.info/lastfm-y-otras-mejoras-en-el-blog/2008/12/</link>
		<comments>http://juanbenavides.info/lastfm-y-otras-mejoras-en-el-blog/2008/12/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 01:27:02 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[lastfm]]></category>
		<category><![CDATA[lastfm api]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=114</guid>
		<description><![CDATA[Esta pequeña caja que se encuentra en el pie de página del blog, la hice con Mootools, PHP y la API de Last.fm, me gustó muchísimo así que probablemente haré algo con la API de Flickr que podría darme un resultado muy bueno. No lo hice antes por que no soy tan adicto a Flickr, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-115" title="topartistoflinnk" src="http://juanbenavides.info/wp-content/uploads/2008/12/topartistoflinnk.jpg" alt="topartistoflinnk" width="700" height="143" /></p>
<p>Esta pequeña caja que se encuentra en el <a href="#footer">pie de página del blog</a>, la hice con <a href="http://mootools.net/">Mootools</a>, <strong>PHP</strong> y la <a href="http://lastfm.es/api">API de Last.fm</a>, me gustó muchísimo así que probablemente haré algo con la API de Flickr que podría darme un resultado muy bueno. No lo hice antes por que no soy tan adicto a <strong>Flickr</strong>, como lo soy a <strong>Last.fm</strong> :)</p>
<p>Entre otras mejoras menores, cambié un poco el CSS para que el texto sea más agradable para los lectores. Hice algunos austes de tamaño en los elementos minimos, yo se, ni se notaban pero a mi me da paranoia saber que una caja esta desalineada por 1 pixel de la otra :S</p>
<p>Para los curiosos del código que usé para conectarme con <strong>Last.fm</strong>&#8230; <span id="more-114"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'http://ws.audioscrobbler.com/2.0/?method=user.gettopartists&amp;amp;user=Linnk&amp;amp;api_key=TU_API_DE_LASTFM&amp;amp;period=3month'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_GET<span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$salida</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$xml</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SimpleXMLElement<span style="color: #009900;">&#40;</span><span style="color: #000088;">$salida</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
&lt;div&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$n</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$xml</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">topartists</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">artist</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$artist</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;div class=&quot;artist&quot; title=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span> <span style="color: #000088;">$artist</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">name</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;&lt;div class=&quot;image&quot;&gt;&lt;img src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span> <span style="color: #000088;">$artist</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">image</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;/div&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$n</span><span style="color: #339933;">++;</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$n</span><span style="color: #339933;">&gt;</span><span style="color: #cc66cc;">32</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">break</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">endforeach</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/div&gt;</pre></div></div>

<p>Me devolvía 50 artistas, pero yo no quería tantas por que no cabían en el espacio designado, así que lo limito a 32. El resutlado de la API lo leo con <a href="http://www.php.net/simplexml">SimpleXML</a> y lo imprimo directamente. Este código es llamado mediante <strong>AJAX</strong>, desde <strong>Mootools</strong> con el que despues le aplico los efectos para hacerlo un poco más interesante.</p>
<p>No creo que valga la pena extenderme por que es una especie de hack. Hace falta mucho para convertirlo en un plugin decente, así que seguramente haré cambios en todos los script para mejorarlos. En cualquier caso, eres libre de <a href="http://juanbenavides.info/wp-content/themes/sandbox/juanbenavides.js">leer mi script para Mootools juanbenavides.js</a>, que está sin compresión ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/lastfm-y-otras-mejoras-en-el-blog/2008/12/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mootools 1.2.1 terminado y disponible.</title>
		<link>http://juanbenavides.info/mootools-121-terminado-y-disponible/2008/10/</link>
		<comments>http://juanbenavides.info/mootools-121-terminado-y-disponible/2008/10/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 02:44:08 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://juanbenavides.info/?p=59</guid>
		<description><![CDATA[Siempre le he sido fiel a este framework para Javascript, y ahora que salió la Mootools v1.2.1 me da gusto y me parece estupendo que avancen, aunque ésta vez solo sea una ligera lista de cambios. Últimamente he tenido que aprender algo de Prototype y Script.aculo.us para unos proyectos y no me convencen aún, al [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-63" title="mootools" src="http://juanbenavides.info/wp-content/uploads/2008/10/mootools.jpg" alt="Mootools" /></p>
<p>Siempre le he sido fiel a este framework para Javascript, y ahora que salió la <a href="http://mootools.net/blog/2008/10/16/mootools-121-released/">Mootools v1.2.1</a> me da gusto y me parece estupendo que avancen, aunque ésta vez solo sea una <a href="http://github.com/mootools/mootools-core/tree/1.2.1/CHANGELOG">ligera lista de cambios</a>.</p>
<p>Últimamente he tenido que aprender algo de <a href="http://www.prototypejs.org/">Prototype</a> y <a href="http://script.aculo.us/">Script.aculo.us</a> para unos proyectos y no me convencen aún, al igual que pasó con <a href="http://jquery.com/">JQuery</a> cuando lo utilicé. Espero poder aprender más de ellos y en el futuro, quizá pueda hacer alguna crítica, comparación, lo que sea&#8230; por el momento, a disfrutar de <strong>Mootools</strong> :)</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/mootools-121-terminado-y-disponible/2008/10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protegiento enlaces a correos del spam.</title>
		<link>http://juanbenavides.info/protegiento-enlaces-a-correos/2008/09/</link>
		<comments>http://juanbenavides.info/protegiento-enlaces-a-correos/2008/09/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 06:36:37 +0000</pubDate>
		<dc:creator>Juan Benavides</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>

		<guid isPermaLink="false">http://blog.juanbenavides.info/?p=30</guid>
		<description><![CDATA[Nada es más fácil que poner un enlace a tu correo en tu blog, para que el visitante interesado de click y se ejecute el cliente de correo preferido del usuario. Lamentablemente, hacer esto: correo@dominio.com con nuestro email es peligroso, por que existe gente que se dedica a buscar correos en internet y a llenarlos [...]]]></description>
			<content:encoded><![CDATA[<p>Nada es más fácil que poner un enlace a tu correo en tu blog, para que el visitante interesado de click y se ejecute el cliente de correo preferido del usuario. Lamentablemente, hacer esto: <a href="mailto:correo@dominio.com">correo@dominio.com</a> con nuestro email es peligroso, por que existe gente que se dedica a buscar correos en internet y a llenarlos de basura en poco tiempo.</p>
<p>Pensando en alternativas para mantener la accesibilidad de un correo electrónico y al mismo tiempo, mantenerlo oculto de los <em title="Programas que raestrean en internet correos para enviarles spam">spambots</em>, me han surgido muchas ideas, mi favorita es ésta:</p>
<p> Suponiendo que los <em>spambots</em> no ejecutan javascript, usaremos mootools para desarrollar un script muy sencillo que logrará mantener oculto el correo, pero que tendrá esa accesibilidad indispensable. </p>
<p>Primero, el código HTML. Publicamos los correos con ésta sintaxis:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>span <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;email&quot;</span><span style="color: #339933;">&gt;</span>correo <span style="color: #009900;">&#40;</span>de dominio<span style="color: #339933;">.</span>com<span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;/</span>span<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Es poco técnico, pero en caso de que el script no se ejecute (por la razón que sea), seguirá legible para el usuario humano. Es importante mantener esa &#8220;forma&#8221; para el script de Mootools, el cual sería algo así:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.email'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> text <span style="color: #339933;">=</span> e.<span style="color: #660066;">get</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'text'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">split</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">' '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> email <span style="color: #339933;">=</span> text<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'@'</span> <span style="color: #339933;">+</span> text<span style="color: #009900;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">replace</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">')'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">new</span> Element<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'href'</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">'mailto:'</span> <span style="color: #339933;">+</span> email<span style="color: #339933;">,</span> <span style="color: #3366CC;">'text'</span> <span style="color: #339933;">:</span> email<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replaces</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>El resultado será que cuando éste script se ejecute, reemplazará el original <em>span</em> por un <strong>enlace</strong> totalmente accesible para el usuario final:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;mailto:correo@dominio.com&quot;</span><span style="color: #339933;">&gt;</span>correo<span style="color: #339933;">@</span>dominio<span style="color: #339933;">.</span>com<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Sinceramente, se me ha ocurrido esta variación partiendo de la propuesta de <a href="http://davidwalsh.name/email-protection-mootools-javascript-v2">David Walsh</a>, mi versión es un poco diferente, pero creo que cumple el objetivo. </p>
<p>El propósito es que cuando un <em>spambot</em> éntre al sitio, no asócie esa sintaxis con la de un correo normal y no lo guarde en su base de datos. Pero cuando un usuario visita el sitio, su navegador interpretara el correo oculto gracias al script en Mootools, y todo funcionará sin que el usuario se de cuenta.</p>
]]></content:encoded>
			<wfw:commentRss>http://juanbenavides.info/protegiento-enlaces-a-correos/2008/09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

