<?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>unijimpe &#187; HTML</title>
	<atom:link href="http://blog.unijimpe.net/category/html/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.unijimpe.net</link>
	<description>Desarrollo Web, SEO, Adsense</description>
	<lastBuildDate>Tue, 16 Mar 2010 04:19:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Crear enlaces para compartir en Redes Sociales</title>
		<link>http://blog.unijimpe.net/crear-enlaces-para-compartir-en-redes-sociales/</link>
		<comments>http://blog.unijimpe.net/crear-enlaces-para-compartir-en-redes-sociales/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 08:15:23 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Servicios Web]]></category>
		<category><![CDATA[delicious]]></category>
		<category><![CDATA[descargas]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[redes sociales]]></category>
		<category><![CDATA[socialclass]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1151</guid>
		<description><![CDATA[<p>La forma más rápida de promover nuestro web site es a través de las redes sociales como <em>Facebook</em>, <em>Twitter</em>, <em>Buzz</em> entre otros. Entonces es recomendable crear los enlaces para que nuestros visitantes puedan agregarlo directamente a su red o marcador social favorito.</p>
<p><strong>URLs para Redes Sociales</strong><br />
Lo primero es conocer el formato de las URLs de&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>La forma más rápida de promover nuestro web site es a través de las redes sociales como <em>Facebook</em>, <em>Twitter</em>, <em>Buzz</em> entre otros. Entonces es recomendable crear los enlaces para que nuestros visitantes puedan agregarlo directamente a su red o marcador social favorito.</p>
<p><strong>URLs para Redes Sociales</strong><br />
Lo primero es conocer el formato de las URLs de las diferentes redes sociales, hay gran cantidad de estos servicios pero solo utilizaremos las mas utilizadas. El siguiente listado presenta los formatos de enlaces en donde <em>URL</em> es el enlace de la página que deseamos compartir y <em>TITLE</em> es el titulo que deseamos asignar al enlace que vamos a compartir.</p>
<ul>
<li><strong>Delicious:</strong> http://delicious.com/save?v=5&#038;url=URL&#038;title=TITLE</li>
<li><strong>Digg:</strong> http://digg.com/submit?url=URL&amp;title=TITLE</li>
<li><strong>Facebook:</strong> http://www.facebook.com/sharer.php?u=URL&#038;t=TITLE</li>
<li><strong>Technorati:</strong> http://technorati.com/faves?add=URL&#038;title=TITLE</li>
<li><strong>Twitter:</strong> http://twitter.com/home?status=TITLE - URL</li>
<li><strong>Meneame:</strong> http://meneame.net/submit.php?urlURL</li>
<li><strong>Reddit:</strong> http://reddit.com/submit?url=URL&#038;title=TITLE</li>
<li><strong>StumbleUpon:</strong> http://www.stumbleupon.com/submit?url=URL&#038;title=TITLE</li>
<li><strong>Google Buzz:</strong> http://www.google.com/reader/link?url=URL&#038;title=TITLE</li>
</ul>
<p>Estos urls los podemos crear manualmente o con nuestro lenguaje de programación favorito para darle a nuestro web mayor interactividad.</p>
<p><strong>Clase para Crear links a Redes Sociales</strong><br />
Con la información de los formatos de URLs decidimos crear una clase para facilitar la creación de estos enlaces. Esta clase la hemos llamado SocialClass que recibe cuatro parámetros: el url, titulo, target y tipo de resultado.</p>
<div class="syntax_hilite">
<div id="php-6">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#FF9933; font-style:italic;">// File:&nbsp; &nbsp; socialclass.php</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color:#FF9933; font-style:italic;">// Web:&nbsp;&nbsp;http://blog.unijimpe.net</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#FF9933; font-style:italic;">// Date:&nbsp; &nbsp; 13/03/2010</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#000000;">class</span> SocialClass <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">var</span> <span style="color:#0000FF;">$url</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">var</span> <span style="color:#0000FF;">$title</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">var</span> <span style="color:#0000FF;">$target</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">var</span> <span style="color:#0000FF;">$type</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; </div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> SocialClass<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_url</span>, <span style="color:#0000FF;">$_title</span>, <span style="color:#0000FF;">$_target</span> = <span style="color:#FF0000;">""</span>, <span style="color:#0000FF;">$_type</span> = <span style="color:#FF0000;">"link"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span> = <a href="http://www.php.net/urlencode"><span style="color:#000066;">urlencode</span></a><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_url</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span> = <a href="http://www.php.net/urlencode"><span style="color:#000066;">urlencode</span></a><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_title</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">setTarget</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_target</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">setType</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_type</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> setTarget<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_target</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">if</span> <span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_target</span> != <span style="color:#FF0000;">""</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span> </div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">target</span> = <span style="color:#FF0000;">" target=<span style="color:#000099;">\"</span>"</span>.<span style="color:#0000FF;">$_target</span>.<span style="color:#FF0000;">"<span style="color:#000099;">\"</span>"</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> <a href="http://www.php.net/settype"><span style="color:#000066;">setType</span></a><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$_type</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">type</span> = <span style="color:#0000FF;">$_type</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> write<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">""</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">if</span> <span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">type</span> == <span style="color:#FF0000;">"link"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#FF0000;">"&lt;a href=<span style="color:#000099;">\"</span>"</span>.<span style="color:#0000FF;">$path</span>.<span style="color:#FF0000;">"<span style="color:#000099;">\"</span>"</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">target</span>.<span style="color:#FF0000;">"&gt;"</span>.<span style="color:#0000FF;">$label</span>.<span style="color:#FF0000;">"&lt;/a&gt;"</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600;">&#125;</span> <span style="color:#616100;">else</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$path</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; </div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> delicious<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Delicious"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://delicious.com/save?v=5&amp;url="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;title="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> digg<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Digg"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://digg.com/submit?url="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;amp;title="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> facebook<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Facebook"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://www.facebook.com/sharer.php?u="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;t="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> technorati<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Technorati"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://technorati.com/faves?add="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;title="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> twitter<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Twitter"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://twitter.com/home?status="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>.<span style="color:#FF0000;">" - "</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> meneame<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Meneame"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://meneame.net/submit.php?url="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> reddit<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Reddit"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://reddit.com/submit?url="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;title="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> stumbleupon<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"StumbleUpon"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://www.stumbleupon.com/submit?url="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;title="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;&nbsp;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color:#000000;">function</span> buzz<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$label</span> = <span style="color:#FF0000;">"Google Buzz"</span><span style="color:#006600;">&#41;</span> <span style="color:#006600;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF;">$path</span> = <span style="color:#FF0000;">"http://www.google.com/reader/link?url="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">url</span>.<span style="color:#FF0000;">"&amp;title="</span>.<span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">title</span>;&nbsp;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#616100;">return</span> <span style="color:#0000FF;">$this</span>-&gt;<span style="color:#006600;">write</span><span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$path</span>, <span style="color:#0000FF;">$label</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color:#006600;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#006600;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Para utilizar la clase primero incluimos el archivo y luego inicializamos el elemento con cuatro parámetros, en donde los dos primeros son necesarios y los dos últimos son opcionales:</p>
<div class="syntax_hilite">
<div id="php-7">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#0000FF;">$social</span> = <span style="color:#000000;">new</span> SocialClass<span style="color:#006600;">&#40;</span><span style="color:#0000FF;">$url</span>, <span style="color:#0000FF;">$title</span>, <span style="color:#0000FF;">$target</span>, <span style="color:#0000FF;">$type</span><span style="color:#006600;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<ul>
<li><strong>$url</strong>: es el enlace de la página que deseamos compartir.</li>
<li><strong>$title</strong>: es el título a mostrarse con el enlace a compartir.</li>
<li><strong>$target</strong>: el target del enlace, por defecto se abre en la misma ventana.</li>
<li><strong>$type</strong>: es el tipo de resultado (<em>link</em> o <em>url</em>) por defecto el tipo es link.</li>
</ul>
<p>Luego de ello podemos utilizar los siguientes métodos: <em>delicious</em>, <em>digg</em>, <em>facebook</em>, <em>technorati</em>, <em>twitter</em>, <em>meneame</em>, <em>reddit</em>, <em>stumbleupon</em>, <em>buzz</em> los cuales aceptar como parámetro un texto opciones para imprimir como texto del enlace a crear.</p>
<p>Veamos un ejemplo de uso de esta clase, en donde crearemos los enlaces recomendar para este blog.</p>
<div class="syntax_hilite">
<div id="php-8">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#000000;">&lt;?php</span> <span style="color:#0000FF;">$social</span> = <span style="color:#000000;">new</span> SocialClass<span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"http://blog.unijimpe.net"</span>, <span style="color:#FF0000;">"unijimpe"</span><span style="color:#006600;">&#41;</span>; <span style="color:#000000;">?&gt;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&lt;ul&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">delicious</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">digg</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">facebook</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">technorati</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">twitter</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">meneame</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">reddit</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">stumbleupon</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">buzz</span><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&lt;/ul&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Ahora podríamos modificar el uso de esta clase y crear los enlaces que se abran en ventana nueva y cambiarlo en nombre a los enlaces:</p>
<div class="syntax_hilite">
<div id="php-9">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#000000;">&lt;?php</span> <span style="color:#0000FF;">$social</span> = <span style="color:#000000;">new</span> SocialClass<span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"http://blog.unijimpe.net"</span>, <span style="color:#FF0000;">"unijimpe"</span>, <span style="color:#FF0000;">"_blank"</span><span style="color:#006600;">&#41;</span>; <span style="color:#000000;">?&gt;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&lt;ul&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">delicious</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Guardar en Delicious"</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">digg</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Enviar a Digg"</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">facebook</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Compartir en Facebook"</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;li&gt;&lt;?php <a href="http://www.php.net/echo"><span style="color:#000066;">echo</span></a> <span style="color:#0000FF;">$social</span>-&gt;<span style="color:#006600;">twitter</span><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Publicar en Twitter"</span><span style="color:#006600;">&#41;</span>; ?&gt;&lt;/li&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&lt;/ul&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Finalmente si deseamos utilizar imagenes para los enlaces podríamos utilizar el tipo <em>url</em> para crear los enlaces de la forma:</p>
<div class="syntax_hilite">
<div id="php-10">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#000000;">&lt;?php</span> <span style="color:#0000FF;">$social</span> = <span style="color:#000000;">new</span> SocialClass<span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"http://blog.unijimpe.net"</span>, <span style="color:#FF0000;">"unijimpe"</span>, <span style="color:#FF0000;">""</span>, <span style="color:#FF0000;">"url"</span><span style="color:#006600;">&#41;</span>; <span style="color:#000000;">?&gt;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&lt;a href=<span style="color:#FF0000;">"&lt;?php echo $social-&gt;delicious(); ?&gt;"</span>&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;img src=<span style="color:#FF0000;">"http://static.delicious.com/img/delicious.gif"</span> /&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&lt;/a&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&lt;a href=<span style="color:#FF0000;">"&lt;?php echo $social-&gt;facebook(); ?&gt;"</span>&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &lt;img src=<span style="color:#FF0000;">"http://static.ak.fbcdn.net/images/connect_favicon.png"</span> /&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&lt;/a&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&lt;a href=<span style="color:#FF0000;">"&lt;?php echo $social-&gt;twitter(); ?&gt;"</span>&gt;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &lt;img src=<span style="color:#FF0000;">"http://twitter-badges.s3.amazonaws.com/t_mini-a.png"</span> /&gt;</div>
</li>
<li style="color:#26536A;">
<div style="">&lt;/a&gt; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Pueden ver el ejemplo funcionando en <a href="http://samples.unijimpe.net/socialclass/">http://samples.unijimpe.net/socialclass/</a> y como pueden ver esta clase es sencilla de utilizar, tambíen pueden extender esta clase e incluir el servicio de su preferencia y si tienen sugerencias para mejorar esta clase pueden dejar su comentario.</p>
<p style="text-align:center;"><a href="http://blog.unijimpe.net/download/SocialClass.zip" title="SocialClass"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p> 
<p><strong>Mas Información</strong></p>
<ul>
<li><a href="http://delicious.com/help/savebuttons">Delicious: Save Buttons</a></li>
<li><a href="http://about.digg.com/button">Integrate: The Digg Button</a></li>
<li><a href="http://www.facebook.com/facebook-widgets/share.php">Facebook: Share Button</a></li>
<li><a href="http://www.reddit.com/buttons/">Put reddit.com buttons on your site</a></li>
</ul>
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/crear-enlaces-para-compartir-en-redes-sociales/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Optimización: Reducir peticiones HTTP</title>
		<link>http://blog.unijimpe.net/optimizacion-reducir-peticiones-http/</link>
		<comments>http://blog.unijimpe.net/optimizacion-reducir-peticiones-http/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 03:30:07 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Optimización Web]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[velocidad]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1133</guid>
		<description><![CDATA[<p>Una de las primeras reglas para aumentar la velocidad de carga de una web es <em>reducir la cantidad de peticiones HTTP</em>. Recordando lo comentado en <a href="http://blog.unijimpe.net/optimizar-carga-de-paginas-web/">Optimizar Carga de Paginas Web</a> el 80% del tiempo se emplea en descargar los componentes de una pagina mientras que solo el 20% en cargar el HTML. Si logramos reducir&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Una de las primeras reglas para aumentar la velocidad de carga de una web es <em>reducir la cantidad de peticiones HTTP</em>. Recordando lo comentado en <a href="http://blog.unijimpe.net/optimizar-carga-de-paginas-web/">Optimizar Carga de Paginas Web</a> el 80% del tiempo se emplea en descargar los componentes de una pagina mientras que solo el 20% en cargar el HTML. Si logramos reducir al máximo la carga de componentes externos lograremos mejorar el rendimiento de nuestro web.</p>
<h3>Combinar archivos CSS y JS</h3>
<p>Si tenemos una pagina que carga múltiples archivos JS para lograr efectos e interactividad o tal vez utilizamos múltiples archivos CSS (Esto generalmente ocurre al utilizar librerías de terceros que vienen con sus archivos JS y CSS). Podríamos combinar todos los archivos JS y CSS con lo cual podríamos disminuir la cantidad de peticiones HTTP .</p>
<p>Por ejemplo si tenemos una página que carga múltiples archivos Javascript tendríamos un código de la forma:</p>
<div class="syntax_hilite">
<div id="html-18">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000;">&lt;link</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"css/reset.css"</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000;">&lt;link</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"css/style.css"</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000;">&lt;link</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"css/cropper.css"</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/prototype.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span>&nbsp; </div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/builder.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/effects.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/dragdrop.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/controls.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/slider.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/sound.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/cropper.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Uniendo todo el contenido CSS en un archivo y el contenido JS en un solo archivo podríamos tener el siguiente código:</p>
<div class="syntax_hilite">
<div id="html-19">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000;">&lt;link</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"css/cropper-complete.css"</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/cropper-complete.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<h3>Utilizar Mapa de Imágenes</h3>
<p>Si utilizas varias imágenes como enlaces, una solución es unir las imágenes y utilizar mapa de imágenes para los enlaces, entonces en lugar de cargar una imagen por cada enlace, cargaremos una sola imagen para todos los enlaces y utilizamos un mapa de imágenes. Por ejemplo podríamos tener un menú de la forma:</p>
<div class="syntax_hilite">
<div id="html-20">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"home.php"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"home.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"59"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"20"</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">"Home"</span> /<span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"empresa.php"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"empresa.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"59"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"20"</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">"Empresa"</span> /<span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"productos.php"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"productos.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"59"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"20"</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">"Productos"</span> /<span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"servicios.php"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"servicios.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"59"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"20"</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">"Servicios"</span> /<span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/a.html"><span style="color: #000000;">&lt;a</span></a> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"contacto.php"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"contacto.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"59"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"20"</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">"Contacto"</span> /<span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/a&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Uniendo las imágenes y reemplazando los enlaces por un mapa de imágenes se tendría:</p>
<div class="syntax_hilite">
<div id="html-21">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"menu.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"295"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"20"</span> <span style="color: #000066;">usemap</span>=<span style="color: #ff0000;">"#map"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/map.html"><span style="color: #000000;">&lt;map</span></a> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"map"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;">&lt;area <span style="color: #000066;">shape</span>=<span style="color: #ff0000;">"rect"</span> <span style="color: #000066;">coords</span>=<span style="color: #ff0000;">"0,0,59,20"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"home.php"</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">"Home"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;">&lt;area <span style="color: #000066;">shape</span>=<span style="color: #ff0000;">"rect"</span> <span style="color: #000066;">coords</span>=<span style="color: #ff0000;">"59,0,118,20"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"empresa.php"</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">"Empresa"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;">&lt;area <span style="color: #000066;">shape</span>=<span style="color: #ff0000;">"rect"</span> <span style="color: #000066;">coords</span>=<span style="color: #ff0000;">"118,0,177,20"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"productos.php"</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">"Productos"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;">&lt;area <span style="color: #000066;">shape</span>=<span style="color: #ff0000;">"rect"</span> <span style="color: #000066;">coords</span>=<span style="color: #ff0000;">"177,0,236,20"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"servicios.php"</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">"Servicios"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;">&lt;area <span style="color: #000066;">shape</span>=<span style="color: #ff0000;">"rect"</span> <span style="color: #000066;">coords</span>=<span style="color: #ff0000;">"236,0,295,20"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"contacto.php"</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">"Contacto"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/map&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<h3>Uso de CSS Sprites</h3>
<p>Si utilizamos botones con rollover es típico hacerlo con dos imágenes una para el estado normal y otra para el rollover. Una técnica llamada <em>CSS Sprites</em> consiste en utilizar una sola imagen como fondo que contenga todas las imágenes a utilizar y para hacer el efecto de cambio de imagen se cambia la posición de la imagen de fondo.</p>
<p>Entonces al combinar las imágenes logramos disminuir la cantidad de peticiones HTTP con el consiguiente ahorro en el tiempo de carga. Pueden leer mas acerca de como funcionan los CSS Sprites en <a href="http://www.alistapart.com/articles/sprites">CSS Sprites: Image Slicing’s Kiss of Death</a></p>
<h3>Imágenes Inline</h3>
<p>Otra forma de disminuir la cantidad de peticiones es incluir las imágenes pequeñas como texto en el HTML, para ello se convierte la imagen en base64 y se incluye como texto. Por ejemplo normalmente incluimos una imagen con el siguiente código:</p>
<div class="syntax_hilite">
<div id="html-22">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"boton.gif"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"16"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"16"</span> /<span style="color: #000000;">&gt;</span></a></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Convirtiendo la imagen en base64 podremos incluir la imagen sin llamar a un archivo externo de la siguiente forma:</p>
<div class="syntax_hilite">
<div id="html-23">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"data:image/gif;base64,R0lGODlhEAAQAJEAAAAAAN3d3...XZ"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"16"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"16"</span> /<span style="color: #000000;">&gt;</span></a></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Donde <em>R0lGODlhEAAQAJEAAAAAAN3d3...XZ</em> texto resumido, resultado de convertir la imagen en texto codificado en base64. Ahora para reemplazar esta imagen tenemos que codificar la imagen, esto lo podemos hacer con la función <em>base64_encode</em> de PHP, entonces el código PHP que imprime la imagen como texto sería:</p>
<div class="syntax_hilite">
<div id="html-24">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"data:image/gif;base64,&lt;?php echo base64_encode(file_get_contents("</span>boton.gif<span style="color: #ff0000;">")); ?&gt;</span>&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt; </span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Otra opción para convertir las imágenes en base64 es utilizar un convertidor online como por ejemplo <a href="http://www.dailycoding.com/Utils/Converter/ImageToBase64.aspx">Online Image to Base64 Converter</a>. Hay que tener en cuenta que este método es recomendable para imágenes pequeñas de preferencia en formato GIF y menores a 100KB por que la codificación en base64 incrementa el tamaño del archivo.</p>
<p><strong>Mas Información</strong><br />
Con estos pequeños cambios podemos incrementar la velocidad de carga de nuestra web. No son muy complejos de implementar y además no interfieren con el backend de la página web. Pueden encontrar mas información en:</p>
<ul>
<li><a href="http://developer.yahoo.com/performance/rules.html#num_http">Minimize HTTP Requests</a></li>
<li><a href="http://robertnyman.com/2008/05/09/improve-your-web-site-performance-tips-tricks-to-get-a-good-yslow-rating/">How to reduce the number of HTTP requests</a></li>
<li><a href="http://www.elated.com/articles/creating-image-maps/">Tutorial: Creating Image Maps</a></li>
<li><a href="http://www.alistapart.com/articles/sprites">CSS Sprites: Image Slicing’s Kiss of Death</a></li>
<li><a href="http://www.websiteoptimization.com/speed/tweak/inline-images/">Inline Images with Data URLs</a></li>
</ul>
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/optimizacion-reducir-peticiones-http/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Optimizar Carga de Paginas Web</title>
		<link>http://blog.unijimpe.net/optimizar-carga-de-paginas-web/</link>
		<comments>http://blog.unijimpe.net/optimizar-carga-de-paginas-web/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 05:16:59 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Optimización Web]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[velocidad]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1130</guid>
		<description><![CDATA[<p>La optimización de los sitios web es un punto muy importante para mejorar el rendimiento de cualquier sitio web. Según el libro <a href="http://www.amazon.com/High-Performance-Web-Sites-Essential/dp/0596529309/">High Performance Web Sites: Essential Knowledge for Front-End Engineers</a> de Steve Souders, basado en los estudios hechos por el equipo de optimización de Yahoo han llegado a definir una regla:</p>
<blockquote><p>
Sólo el</p></blockquote><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>La optimización de los sitios web es un punto muy importante para mejorar el rendimiento de cualquier sitio web. Según el libro <a href="http://www.amazon.com/High-Performance-Web-Sites-Essential/dp/0596529309/">High Performance Web Sites: Essential Knowledge for Front-End Engineers</a> de Steve Souders, basado en los estudios hechos por el equipo de optimización de Yahoo han llegado a definir una regla:</p>
<blockquote><p>
Sólo el <strong>10-20%</strong> del tiempo de respuesta se utiliza en descargar el documento HTML. <br />El otro <strong>80-90%</strong> está empleado en descargar todos los componentes en la página.
</p></blockquote>
<p>Esto significa que si logramos optimizar la carga de todos los elementos de la pagina web, tendríamos el 80% de la velocidad de carga bajo nuestro control, con el consiguiente aumento considerable en la velocidad de carga de una web. </p>
<p><img src="http://blog.unijimpe.net/wp-content/uploads/2009/12/firebug.jpg" alt="" title="firebug" width="400" height="280" class="alignnone size-full wp-image-1131" /></p>
<p><strong>Reglas para Optimización</strong></p>
<p>Para acelerar la carga de las paginas web podemos seguir algunas reglas que hemos recopilado de <a href="http://developer.yahoo.com/performance/">Exceptional Performance</a> de Yahoo y de <a href="http://code.google.com/speed/page-speed/docs/rules_intro.html">Web Performance Best Practices</a> de Google.</p>
<ul>
<li><strong>Reducir las peticiones HTTP</strong><br />Reduciendo la cantidad de elementos externos a nuestra página podemos reducir el tiempo de carga, para ello podemos combinar archivos JS, CSS, utilizar sprites para los botones, etc.</li>
<li><strong>Agregar headers de Expiración</strong><br />Agregando los headers indicando cuando expiran los archivos evitaremos la carga innecesaria de archivos que ya han sido cargados.</li>
<li><strong>Utilizar compresión Gzip</strong><br />Al comprimir los archivos con gzip antes de enviarlos al browser conseguiremos disminuir la cantidad de datos a transmitir.</li>
<li><strong>Colocar los Estilos en el Header</strong><br />Se recomienda colocar los archivos de estilos en el header para que se carguen primero y renderear rápidamente el web.</li>
<li><strong>Colocar los Scripts en el Footer</strong><br />Cuando se carga un archivo JS, este bloquea la carga de otros archivos hasta que se complete la carga, si el archivo JS es pesada hará que nuestra página se vea en blanco mientras se carga el Javascript.</li>
<li><strong>Poner Javascript y CSS en archivos externos</strong><br />Al colocar en archivos externos los javascripts y hojas de estilos, en la primera vez cargaremos estos archivos y en la siguientes peticiones las leeremos del cache del browser.</li>
<li><strong>Reducir las búsquedas DNS</strong><br />Se recomienda no utilizar varios dominios en la carga de los elementos del web, por cada dominio habrá un tiempo para resolver la dirección IP.</li>
<li><strong>Minificar archivos Javascript y CSS</strong><br />Minificar es eliminar los espacios en blanco y los saltos de linea innecesarios, minificar ayuda a reducir el tamaño de los archivos.</li>
<li><strong>Evitar las Redirecciones</strong><br />El hacer una redirección toma un tiempo para resolver el URL de destino, utilizar correctamente los tipos de redirecciones ayudará a mantener rápida la carga de nuestras paginas.</li>
<li><strong>Configurar los eTags</strong><br />Los eTags se agregan en los header para indicar si el archivo se ha modificado, para ello se compara el valor del eTag guardado en el browser con el eTag del archivo en el servidor.</li>
<li><strong>Remover Scripts duplicados</strong><br />Al eliminar los scripts duplicados conseguiremos disminuir la carga de nuestros archivos.</li>
<li><strong>Optimizar las Imagenes</strong><br />Podemos optimizar las imágenes, para ello hay que escoger adecuadamente el formato del archivo de imagen para reducir el tamaño del archivo.</li>
<li><strong>Utilizar dominios libre de Cookies</strong><br />Es recomendable colocar las imagenes, js y css en dominios que no utilizen cookies, esto ayudará a disminuir el trafico de contenido.</li>
</ul>
<p><strong>Herramientas para la Optimización</strong></p>
<p>Existen herramientas que nos pueden ayudar a hacer un diagnostico del estado de optimización de nuestra página, ello nos dará una guia de lo que podemos optimizar para mejorar la velocidad de nuestra web.</p>
<ul>
<li><a href="http://getfirebug.com/">Firebug</a><br />Firebug es el complemento básico para todo desarrollador web, esta extensión permite ver todos los archivos que se cargan con la pagina y los tiempos de carga.</li>
<li><a href="http://developer.yahoo.com/yslow/">YSlow</a><br />Este es una extensión para Firebug creada por Yahoo que permite hacer un diagnostico de la velocidad de carga de una pagina basado en reglas definidas por YSlow.</li>
<li><a href="http://code.google.com/speed/page-speed/ ">Page Speed</a><br />Este plugin creado por Google permite diagnosticar que puntos de nuestra web podemos mejorar para acelerar la carga de nuestras paginas.</li>
</ul>
<p><img src="http://blog.unijimpe.net/wp-content/uploads/2009/12/yslow.jpg" alt="" title="yslow" width="400" height="248" class="alignnone size-full wp-image-1132" /></p>
<p><strong>Mas Información</strong><br />
Hay mucha información y muy bien documentada de todas las formas para optimizar nuestras paginas. </p>
<ul>
<li><a href="http://www.amazon.com/High-Performance-Web-Sites-Essential/dp/0596529309/">High Performance Web Sites: Essential Knowledge for Front-End Engineers</a></li>
<li><a href="http://developer.yahoo.com/performance/rules.html">Best Practices for Speeding Up Your Web Site</a></li>
<li><a href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/">Performance Research, Part 1: What the 80/20 Rule Tells Us about Reducing HTTP Requests</a></li>
<li><a href="http://code.google.com/speed/page-speed/docs/rules_intro.html">Web Performance Best Practices</a></li>
</ul>
<p>En futuros posts desarrollaremos uno a unos los puntos mencionados para optimizar nuestras páginas, las pondremos en práctica y analizaremos algunos casos prácticos.</p>
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/optimizar-carga-de-paginas-web/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Función dólar $() en Javascript</title>
		<link>http://blog.unijimpe.net/funcion-dolar-en-javascript/</link>
		<comments>http://blog.unijimpe.net/funcion-dolar-en-javascript/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 06:43:50 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1120</guid>
		<description><![CDATA[<p>La función dólar <strong>$()</strong> es una de las mas populares en Javascript por que permiten acceder a elementos del HTML de forma sencilla y utilizando poco código. Originalmente fue implementada en <a href="http://www.prototypejs.org/">Prototype</a> y ahora disponible en la mayoría de librerías como <a href="http://mootools.net/">Mootools</a>, <a href="http://jquery.com/">jQuery</a>.</p>
<p>Veamos como implementar nuestra propia función $, esto para evitar&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>La función dólar <strong>$()</strong> es una de las mas populares en Javascript por que permiten acceder a elementos del HTML de forma sencilla y utilizando poco código. Originalmente fue implementada en <a href="http://www.prototypejs.org/">Prototype</a> y ahora disponible en la mayoría de librerías como <a href="http://mootools.net/">Mootools</a>, <a href="http://jquery.com/">jQuery</a>.</p>
<p>Veamos como implementar nuestra propia función $, esto para evitar incluir librerías como <em>Mootools</em>, <em>jQuery</em> o <em>Prototype</em> las cuales tienes los cuales tienes funciones adicionales que en muchas ocaciones no vamos a utilizar, con ello disminuimos el tamaño de nuestros archivos html.</p>
<p><strong>Función $() básica</strong><br />
El objetivo primario de esta función es la seleccionar elementos basados en un identificador, es decir un alias de la función getElementById, entonces podemos crear nuestra primera función dolar.</p>
<div class="syntax_hilite">
<div id="javascript-28">
<div class="javascript">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #003366;">function</span> $<span style="color: #66cc66;">&#40;</span>el<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color: #000066;">return</span> document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span>el<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>Función $() extendida</strong><br />
La función anterior permite seleccionar un sólo elemento, pero podemos extenderla para pasarle multiples parámetros y que nos devuelva un array con los elementos seleccionados, ello nos permitirá obtener y manipular múltiples elementos de forma rápida.</p>
<div class="syntax_hilite">
<div id="javascript-29">
<div class="javascript">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #003366;">function</span> $<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color: #003366;">var</span> elements = <span style="color: #003366;">new</span> Array<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color: #000066;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #003366;">var</span> i = <span style="color: #CC0000;color:#800000;">0</span>; i &lt;arguments.<span style="color: #006600;">length</span>; i++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003366;">var</span> element = arguments<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000066;">typeof</span> element == <span style="color: #3366CC;">"string"</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element = document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span>element<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">if</span> <span style="color: #66cc66;">&#40;</span>arguments.<span style="color: #006600;">length</span> == <span style="color: #CC0000;color:#800000;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">return</span> element;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; elements.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span>element<span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color: #000066;">return</span> elements;</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Esta función recorre uno por uno los parámetros que se les pasa y va agregándolo a un array que posteriormente lo devuelve.</p>
<p><strong>Como utilizar la función $</strong><br />
El uso es sencillo, por ejemplo si tenemos un formulario y deseamos verificar si el campo esta vacio podemos hacerlos de la siguiente forma:</p>
<div class="syntax_hilite">
<div id="javascript-30">
<div class="javascript">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #000066;">if</span> <span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'username'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">value</span> == <span style="color: #3366CC;">''</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;<span style="color: #000066;">alert</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'Error: nombre de usuario vacio.'</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Personalmente utilizo la primera versión pues me permite seleccionar los elementos que necesito y ahorrando muchas línes de código comparado con el uso del método <em>getElementById</em>. </p>
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/funcion-dolar-en-javascript/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Facelift: Reemplaza texto por imagenes</title>
		<link>http://blog.unijimpe.net/facelift-reemplaza-texto-por-imagenes/</link>
		<comments>http://blog.unijimpe.net/facelift-reemplaza-texto-por-imagenes/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 06:21:22 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1112</guid>
		<description><![CDATA[<p><a href="http://facelift.mawhorter.net/learn-more/">Facelift</a> es una librería PHP/Javascript que permite reemplazar dinámicamente textos por imágenes, con lo cual podemos mostrar cualquier tipografía en nuestra web. Esto permite que los usuarios puedan ver texto con tipografías especiales mientras que los buscadores interpretarán este contenido como texto plano con lo cual mantenemos nuestro sitio optimizado para los buscadores.</p>
<p><a href="http://facelift.mawhorter.net/learn-more/"></a></p>
<p><strong>Utilizando Facelift</strong><br />&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://facelift.mawhorter.net/learn-more/">Facelift</a> es una librería PHP/Javascript que permite reemplazar dinámicamente textos por imágenes, con lo cual podemos mostrar cualquier tipografía en nuestra web. Esto permite que los usuarios puedan ver texto con tipografías especiales mientras que los buscadores interpretarán este contenido como texto plano con lo cual mantenemos nuestro sitio optimizado para los buscadores.</p>
<p><a href="http://facelift.mawhorter.net/learn-more/"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/10/facelift.jpg" alt="facelift" title="facelift" width="157" height="70" /></a></p>
<p><strong>Utilizando Facelift</strong><br />
<em>Facelift</em> consta de un javascript que se encarga de reemplazar un texto por una imágen que es generada dinámicamente por un PHP en el servidor. Para utilizar esta librería primero <a href="http://facelift.mawhorter.net/download/?latest=true">descargamos la ultima versión</a>, extraemos los archivos y copiamos el contenido en una carpeta llamada '<em>flir</em>' de nuestro servidor. </p>
<p><a href="http://samples.unijimpe.net/facelift/"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/10/facelift-demo.jpg" alt="facelift-demo" title="facelift-demo" width="450" height="211" /></a></p>
<p><strong>Configurar las Fuentes</strong><br />
A continuación configuramos la librería en donde incluimos las tipografías que utilizaremos, para ello editamos el archivo <em>config-flir.php</em> en donde colocamos la lista de tipografías disponibles.</p>
<div class="syntax_hilite">
<div id="php-36">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#0000FF;">$fonts</span> = <a href="http://www.php.net/array"><span style="color:#000066;">array</span></a><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span>;</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color:#0000FF;">$fonts</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">'wanta'</span><span style="color:#006600;">&#93;</span>&nbsp; &nbsp; &nbsp; = <span style="color:#FF0000;">'wanta_091.ttf'</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#0000FF;">$fonts</span><span style="color:#006600;">&#91;</span><span style="color:#FF0000;">'aorange'</span><span style="color:#006600;">&#93;</span>&nbsp; &nbsp; = <span style="color:#FF0000;">'AgentOrange.ttf'</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Estas tipografías deben estar en la carpeta <em>fonts</em> y en formato <em>.ttf</em>, puedes encontrar fuentes gratuitas para descargar en <a href="http://www.webpagepublicity.com/free-fonts.html">http://www.webpagepublicity.com/free-fonts.html </a>.</p>
<p><strong>Configurar el HTML</strong><br />
El siguiente paso es incluir el archivo <em>flir.js</em> en el header de nuestro html</p>
<div class="syntax_hilite">
<div id="html-37">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"flir/flir.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Luego aplicamos <em>Facelift</em>, para ello definimos la carpeta donde se ubica la librería y a continuación asignamos las tipografía utilizando el método <em>FLIR.replace</em> en donde definimos a que elementos del html se aplicarán. </p>
<div class="syntax_hilite">
<div id="html-38">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; FLIR.init( { path: 'flir/' } );</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; FLIR.replace( 'h2', new FLIRStyle({ cFont:'aorange' }) );</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; FLIR.replace( 'h3', new FLIRStyle({ cFont:'wanta' }) );</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Este código lo colocamos justo antes del tag <em>&lt;/body&gt;</em>. En el ejemplo estamos asignando a todos los elementos <strong>h2</strong> la tipografía <em>Agent Orange</em> y a los elementos <strong>h3</strong> la fuente <em>Wanta 091</em>.</p>
<p><strong>Personalizando los Textos</strong><br />
Para cambiar el tamaño, color y alineación de los textos generados lo podemos hacer mediante estilos, para ello creamos los CSS de acuerdo a nuestras necesidades, para nuestro ejemplo podríamos tener:</p>
<div class="syntax_hilite">
<div id="css-39">
<div class="css">
<ol>
<li style="color:#3A6A8B;">
<div style="">h2 <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color: #000000;">font-size</span>: 24px;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color: #000000;">color</span>: #06C;</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">h3 <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color: #000000;">font-size</span>: 15px;</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color: #000000;">color</span>: #C06;</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>Uniendo Todo</strong><br />
Uniendo todos estos elementos tendríamos el siguiente código para generar nuestras imágenes dinámicamente. El resultado del ejemplo lo pueden ver en <a href="http://samples.unijimpe.net/facelift/">http://samples.unijimpe.net/facelift/</a>.</p>
<div class="syntax_hilite">
<div id="html-40">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/html.html"><span style="color: #000000;">&lt;html&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/head.html"><span style="color: #000000;">&lt;head&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/title.html"><span style="color: #000000;">&lt;title&gt;</span></a></span>Facelift Demo<span style="color: #009900;"><span style="color: #000000;">&lt;/title&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"flir/flir.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/style.html"><span style="color: #000000;">&lt;style</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!--</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #808080; font-style: italic;">h2 {</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; font-size: 24px;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; color: #06C;</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; font-weight: bold;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #808080; font-style: italic;">}</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #808080; font-style: italic;">h3 {</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; font-size: 15px;</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; font-weight: bold;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #808080; font-style: italic;">&nbsp; &nbsp; color: #C06;</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #808080; font-style: italic;">}</span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #808080; font-style: italic;">--&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/style&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/head&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/body.html"><span style="color: #000000;">&lt;body&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- contenido html --&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; FLIR.init( { path: 'flir/' } );</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; FLIR.replace( 'h2', new FLIRStyle({ cFont:'aorange' }) );</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; FLIR.replace( 'h3', new FLIRStyle({ cFont:'wanta' }) );</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/body&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/html&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Con esto tenemos nuestra pagina personalizada con las fuentes que nosotros deseamos, eso te traduce en una web con mejor calidad visual si perder la optimización para los buscadores</p>
<p style="text-align:center;"><a href="http://blog.unijimpe.net/download/facelift.zip" title="Facelift"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p> 
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/facelift-reemplaza-texto-por-imagenes/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MooEditable: Editor HTML con Mootools</title>
		<link>http://blog.unijimpe.net/mooeditable-editor-html-con-mootools/</link>
		<comments>http://blog.unijimpe.net/mooeditable-editor-html-con-mootools/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 18:45:04 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[textarea]]></category>
		<category><![CDATA[texto]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1097</guid>
		<description><![CDATA[<p><a href="http://cheeaun.github.com/mooeditable/">MooEditable</a> es un editor de texto escrito en <a href="http://mootools.net">Mootools</a>. Con esta librería podemos convertir nuestras cajas de texto  o <em>textareas</em> en editores HTML con solo utilizar pocas líneas de código javascript.</p>
<p>Este editor es compatible con Internet Explorer 6/7/8, Firefox 2/3, Opera 9/10 y Safari 3/4, es ligero comparado con otras librerías como TinyMCE, se&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://cheeaun.github.com/mooeditable/">MooEditable</a> es un editor de texto escrito en <a href="http://mootools.net">Mootools</a>. Con esta librería podemos convertir nuestras cajas de texto  o <em>textareas</em> en editores HTML con solo utilizar pocas líneas de código javascript.</p>
<p>Este editor es compatible con Internet Explorer 6/7/8, Firefox 2/3, Opera 9/10 y Safari 3/4, es ligero comparado con otras librerías como TinyMCE, se pueden personalizar los iconos y con una interfaz limpia.</p>
<p style="text-align:center;"><a href="http://samples.unijimpe.net/mooeditable/"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/10/mooeditable.jpg" alt="mooeditable" title="mooeditable" width="488" height="249" /></a></p>
<p>Tiene las opciones básicas para formatear texto como: negrita, cursiva, subrayado, tachado, listas además soporte para incluir, imágenes, enlaces, archivos flash y finalmente se pueden incluir las acciones para <em>deshacer</em> y <em>rehacer</em>.</p>
<p><strong>Como Utilizar MooEditable</strong><br />
Para su funcionamiento se requiere primero Mootools, entonces primero se debe incluir el archivo <em>mootools.js</em> y <em>MooEditable.js</em>, también es necesario incluir la hoja de estilos MooEditable.css el cual incluirá los estilos e imagenes necesarias para el funcionamiento de la librería.</p>
<div class="syntax_hilite">
<div id="html-44">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000;">&lt;link</span></a> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"css/MooEditable.css"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/mootools.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"js/MooEditable.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>El siguiente paso es crear nuestro formulario en el cual debemos insertar un tag <em>textarea</em>, es necesario aplicarle un estilo a este tag para definir el ancho el cual se utilizará para crear el editor.</p>
<div class="syntax_hilite">
<div id="html-45">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/textarea.html"><span style="color: #000000;">&lt;textarea</span></a> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"content"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"content"</span> <span style="color: #000066;">rows</span>=<span style="color: #ff0000;">"10"</span> <span style="color: #000066;">style</span>=<span style="color: #ff0000;">"width: 400px;"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/textarea&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Finalmente asignamos el método <em>mooEditable</em> al elemento que contendrá el editor de texto. En nuestro caso se lo asignamos al elemento <em>content</em> que el textarea que hemos creado.</p>
<div class="syntax_hilite">
<div id="javascript-46">
<div class="javascript">
<ol>
<li style="color:#3A6A8B;">
<div style="">window.<span style="color: #006600;">addEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'domready'</span>, <span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'content'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">mooEditable</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Con lo cual obtenemos nuestro editor funcionando, pueden ver el resultado en <a href="http://samples.unijimpe.net/mooeditable/">mooeditable</a>. Hay  muchas opciones para personalizar al detalle este editor, para conocer mas acerca de las opciones pueden leer la documentación que viene en el archivo de descarga.</p>
<p style="text-align:center;"><a href="http://blog.unijimpe.net/download/mooeditable.zip" title="MooEditable"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p> 
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/mooeditable-editor-html-con-mootools/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lazy Load: Retrasar carga de imágenes</title>
		<link>http://blog.unijimpe.net/lazy-load-retrasar-carga-de-imagenes/</link>
		<comments>http://blog.unijimpe.net/lazy-load-retrasar-carga-de-imagenes/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 05:44:57 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[precarga]]></category>
		<category><![CDATA[scroll]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1090</guid>
		<description><![CDATA[<p><strong>Lazy Load</strong> es un interesante plugin para jQuery que permite postergar la carga de imágenes en páginas web largas. Las imágenes que están fuera de la zona visible no serán cargadas hasta que el usuario haga scroll  y desplace la página sobre estas imágenes.</p>
<p>Un clásico y muy buen ejemplo de esta técnica lo podemos ver&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><strong>Lazy Load</strong> es un interesante plugin para jQuery que permite postergar la carga de imágenes en páginas web largas. Las imágenes que están fuera de la zona visible no serán cargadas hasta que el usuario haga scroll  y desplace la página sobre estas imágenes.</p>
<p>Un clásico y muy buen ejemplo de esta técnica lo podemos ver en el <a href="http://store.apple.com/us/browse/home/shop_iphone/iphone_accessories/headsets">Apple Store</a> donde podemos ver que a medidas que nos desplazamos por la página se van cargando las imágenes.</p>
<p style="text-align:center;"><a href="http://www.appelsiini.net/projects/lazyload"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/10/lazyload.jpg" alt="lazyload" title="lazyload" width="215" height="74" /></a></p>
<p><strong>Como utilizar Lazy Load</strong><br />
Para hacer uso de esta librería es necesario incluir el el header de nuestro HTML <a href="http://jquery.com">jQuery</a> y <a href="http://www.appelsiini.net/download/jquery.lazyload.js">jquery.lazyload.js</a> el cual lo puedes descargar desde el web oficial <a href="http://www.appelsiini.net/projects/lazyload">Lazy Load Plugin for jQuery</a>.</p>
<div class="syntax_hilite">
<div id="html-50">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"jquery.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"jquery.lazyload.js"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>El siguiente paso es inicializar el llamado a Lazy Load, esto lo hacemos llamando ala función <em>lazyload</em> a todas las imágenes de nuestro html.</p>
<div class="syntax_hilite">
<div id="javascript-51">
<div class="javascript">
<ol>
<li style="color:#3A6A8B;">
<div style="">$<span style="color: #66cc66;">&#40;</span><span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"img"</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">lazyload</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Eso es suficiente para postergar la carga de imágenes en nuestras páginas hasta que estas imágenes estén en la zona visible del browser. Adicionalmente se tienen algunas opciones para mejorar el funcionamiento de esta técnica, por ejemplo podemos mostrar una imagen de fondo mientras se carga la imagen e incluso podemos asignar un mínimo de pixels antes de mostrar las imágenes.</p>
<div class="syntax_hilite">
<div id="javascript-52">
<div class="javascript">
<ol>
<li style="color:#3A6A8B;">
<div style="">$<span style="color: #66cc66;">&#40;</span><span style="color: #003366;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"img"</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">lazyload</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span>placeholder : <span style="color: #3366CC;">"img/loading.gif"</span>, threshold : <span style="color: #CC0000;color:#800000;">100</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>En el ejemplo se muestra la imagen <em>loading.gif</em> y se mostrarán las imágenes si es visible mas de 100 pixels de la imagen. Pueden ver el ejemplo funcionando en <a href="http://samples.unijimpe.net/lazyload/">Lazy Load Demo</a>.</p>
<p style="text-align:center;"><a href="http://blog.unijimpe.net/download/lazyload.zip" title="Lazy Load"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p> 
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/lazy-load-retrasar-carga-de-imagenes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Vanadium: Validar formularios fácilmente</title>
		<link>http://blog.unijimpe.net/vanadium-validar-formularios-facilmente/</link>
		<comments>http://blog.unijimpe.net/vanadium-validar-formularios-facilmente/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 04:58:04 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1085</guid>
		<description><![CDATA[<p><a href="http://vanadiumjs.com/">Vanadium</a> es un plugin para <strong>jQuery</strong> que permite validar formularios de manera sencilla y con pocas lineas de código. Permite validar campos obligatorios, numéricos, email, entre otros. </p>
<p>Validar formularios es muy importante en las páginas para prevenir el ingreso de datos inválidos sin el formato adecuado. Obviamente estas validaciones deben estar acompañadas de una validación&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://vanadiumjs.com/">Vanadium</a> es un plugin para <strong>jQuery</strong> que permite validar formularios de manera sencilla y con pocas lineas de código. Permite validar campos obligatorios, numéricos, email, entre otros. </p>
<p>Validar formularios es muy importante en las páginas para prevenir el ingreso de datos inválidos sin el formato adecuado. Obviamente estas validaciones deben estar acompañadas de una validación en el lado del servidor para tener una doble protección. Entonces <strong>Vanadium</strong> se encarga del proceso de validar formularios de manera sencilla y con una sintaxis muy sencilla de utilizar.</p>
<p style="text-align:center;"><a href="http://vanadiumjs.com/"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/09/vanadium.gif" alt="vanadium" title="vanadium" width="400" height="186" /></a></p>
<p><strong>Como utilizar Vanadium</strong><br />
Lo primero es descargar el script desde <a href="http://vanadiumjs.com/">http://vanadiumjs.com/</a> en cualquiera de sus versiones: <em>vanadium.js</em> que contiene comentarios que puede usarse para editarlo o <em>vanadium-min.js</em> que esta comprimida para acelerar su carga.</p>
<p>Lo siguiente es incluir <em>jQuery</em> (en mi caso utilizare jQuery desde <a href="http://code.google.com/apis/ajaxlibs/">Google AJAX Libraries API</a>) y <em>Vanadium</em> en el header de nuestro html para poder hacer uso de sus métodos.</p>
<div class="syntax_hilite">
<div id="html-55">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"vanadium.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Lo siguiente es agregar a los campos de nuestro formulario el tipo de validación que queremos aplicarlo, esto se hace agregando estilos a los campos. Algunos de los tipos de validación disponibles son:</p>
<ul>
<li><strong>:required</strong> el campo es obligatorio.</li>
<li><strong>:integer</strong> se aceptan números enteros.</li>
<li><strong>:float</strong> se aceptan números decimales.</li>
<li><strong>:length;n</strong> el campo debe tener n caracteres.</li>
<li><strong>:min_length;n</strong> se aceptan n caracteres como mínimo.</li>
<li><strong>:max_length;n</strong> se aceptan n caracteres como máximo.</li>
<li><strong>:accept</strong> el campo checkbox debe ser aceptado.</li>
<li><strong>:email</strong> el dato debe ser un email.</li>
</ul>
<p>Luego si por ejemplo tuviéramos un formulario de registro donde el campo de usuario y clave son obligatorios y además el campo email debe aceptar solamente datos del tipo email tendríamos:</p>
<div class="syntax_hilite">
<div id="html-56">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/form.html"><span style="color: #000000;">&lt;form</span></a> <span style="color: #000066;">method</span>=<span style="color: #ff0000;">"post"</span> <span style="color: #000066;">action</span>=<span style="color: #ff0000;">""</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;Username: </div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000;">&lt;input</span></a> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"username"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"username"</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">"36"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">":required"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;Password: </div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000;">&lt;input</span></a> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"userpass"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"userpass"</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">"36"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">":required"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;Email: </div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000;">&lt;input</span></a> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"email"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"email"</span> <span style="color: #000066;">size</span>=<span style="color: #ff0000;">"36"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">":email"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp;<span style="color: #009900;"><a href="http://december.com/html/4/element/input.html"><span style="color: #000000;">&lt;input</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"submit"</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"btsend"</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"btsend"</span> <span style="color: #000066;">value</span>=<span style="color: #ff0000;">"Registro"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/form&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Listo, ya tenemos nuestro formulario validado. Como pueden ver en el el <a href="http://samples.unijimpe.net/vanadium/">ejemplo</a> los campos se validan cuando se esta ingresando los datos. Ahora si se desea personalizar esta validación solo hace falta modificar los estilos de los mensajes de error y confirmación.</p>
<p style="text-align:center;"><a href="http://blog.unijimpe.net/download/vanadium.zip" title="Vanadium"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p> 
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/vanadium-validar-formularios-facilmente/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Precargar Imagenes con JS</title>
		<link>http://blog.unijimpe.net/precargar-imagenes-con-js/</link>
		<comments>http://blog.unijimpe.net/precargar-imagenes-con-js/#comments</comments>
		<pubDate>Mon, 27 Apr 2009 03:25:12 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[precarga]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1023</guid>
		<description><![CDATA[<p>Luego del post <a href="http://blog.unijimpe.net/precargar-imagenes-con-css/">Precargar imágenes con CSS</a> en el cual comentábamos como colocar una imagen de fondo para indicar que se esta cargando una imagen, esta vez les presentamos una solución mas completa el cual incluye javascript.</p>
<p style="text-align:center;"><a href="http://samples.unijimpe.net/jspreload/"></a></p>
<p><strong>Creando los estilos</strong><br />
Lo primero es crear dos estilos, un estilo que contiene una imagen de&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Luego del post <a href="http://blog.unijimpe.net/precargar-imagenes-con-css/">Precargar imágenes con CSS</a> en el cual comentábamos como colocar una imagen de fondo para indicar que se esta cargando una imagen, esta vez les presentamos una solución mas completa el cual incluye javascript.</p>
<p style="text-align:center;"><a href="http://samples.unijimpe.net/jspreload/"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/04/jspreload.jpg" alt="jspreload" title="jspreload" width="300" height="230" /></a></p>
<p><strong>Creando los estilos</strong><br />
Lo primero es crear dos estilos, un estilo que contiene una imagen de precarga y otro que elimina la imagen de fondo.</p>
<div class="syntax_hilite">
<div id="css-61">
<div class="css">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #6666ff;">.loading </span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; <span style="color: #000000;">background</span>: <span style="color: #993333;">url</span><span style="color: #66cc66;">&#40;</span>loading.gif<span style="color: #66cc66;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #993333;">center</span> <span style="color: #993333;">center</span>;</div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #66cc66;">&#125;</span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #6666ff;">.loaded </span><span style="color: #66cc66;">&#123;</span></div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; <span style="color: #000000;">background</span>: <span style="color: #993333;">none</span>;</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #66cc66;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>Cargando la Imagen de Precarga</strong><br />
Lo siguiente es cargar al inicio la imagen del precargador, esto para que se pueda mostrar como fondo de las imágenes a precargar. Esto lo colocamos en el header de nuestro html.</p>
<div class="syntax_hilite">
<div id="html-62">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">loadImage = new Image(); </div>
</li>
<li style="color:#3A6A8B;">
<div style="">loadImage.src = &quot;loading.gif&quot;;</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p><strong>Incluyendo las Imagenes</strong><br />
Lo que sigue es incluir las imágenes que deseamos mostrar, esto lo hacemos de la forma normal, pero le aplicamos el estilo <em>.loading</em> para mostrar la imagen de precarga.</p>
<div class="syntax_hilite">
<div id="html-63">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"img1.png"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"512"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"387"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"loading"</span> /<span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"img2.png"</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">"512"</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">"387"</span> <span style="color: #000066;">class</span>=<span style="color: #ff0000;">"loading"</span> /<span style="color: #000000;">&gt;</span></a></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Finalmente completamos el proceso creando un javascript que recorra todas las imágenes que contiene nuestro HTML, esto lo hacemos con la función <em>getElementsByTagName</em>, luego detectamos el evento <em>onload</em> de cada imagen para aplicarle el estilo que elimina la imagen de fondo.</p>
<div class="syntax_hilite">
<div id="html-64">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">var imgs = document.getElementsByTagName('img');</div>
</li>
<li style="color:#3A6A8B;">
<div style="">for(i in imgs) {</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; imgs[i].onload = function() {</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; &nbsp; &nbsp; &nbsp; this.className = &quot;loaded&quot;;</div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; &nbsp; }</div>
</li>
<li style="color:#3A6A8B;">
<div style="">}</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Este script lo colocamos al final del HTML antes del tag <em>&lt;/body&gt;</em> y listo ya tenemos nuestro script de precarga de imágenes completo que lo podemos incluir en cualquier en cualquier página html. Pueden ver el ejemplo funcionando en <a href="http://samples.unijimpe.net/jspreload/">jspreload</a>.</p>
<p style="text-align:center;"><a href="http://blog.unijimpe.net/download/jspreload.zip" title="JS Preload"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p> 
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/precargar-imagenes-con-js/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Crear páginas de error 404</title>
		<link>http://blog.unijimpe.net/crear-paginas-de-error-404/</link>
		<comments>http://blog.unijimpe.net/crear-paginas-de-error-404/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 18:33:40 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[buscador]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[webmasters]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1020</guid>
		<description><![CDATA[<p>Un <em>error 404</em> ocurre cuando un visitante no encuentra una página web, esto por que la dirección ingresada no existe, han escrito mal la dirección URL o por que la ruta ya no existe por que se editado o eliminado. Por defecto el browser muestra una pantalla indicando el tipo de error el cual es ininteligible&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Un <em>error 404</em> ocurre cuando un visitante no encuentra una página web, esto por que la dirección ingresada no existe, han escrito mal la dirección URL o por que la ruta ya no existe por que se editado o eliminado. Por defecto el browser muestra una pantalla indicando el tipo de error el cual es ininteligible para la mayoría de usuarios, por ello veremos la forma de personalizar este tipo de mensajes.</p>
<p style="text-align:center;"><img src="http://blog.unijimpe.net/wp-content/uploads/2009/04/error404.gif" alt="error404" title="error404" width="400" height="241" /></p>
<p><strong>Creando las paginas de error 404</strong><br />
Lo primero es editar el archivo <em>.htaccess</em> que esta en la raíz de nuestro servidor e incluir la siguiente línea de código, el cual hará que cada vez que no se encuentre el archivo solicitado se muestre la pagina <em>error404.hml</em> al visitante</p>
<div class="syntax_hilite">
<div id="code-69">
<div class="code">
<ol>
<li style="color:#3A6A8B;">
<div style="">errorDocument <span style="color:#800000;color:#800000;">404</span> /error404.<span style="">htm</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Lo siguiente es crear este archivo, ahora como esta página es solo informativa no es necesario que sea indexada por los buscadores para ello es necesario agregarle un header indicando el tipo de error:</p>
<div class="syntax_hilite">
<div id="php-70">
<div class="php">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color:#000000;">&lt;?php</span> <a href="http://www.php.net/header"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"HTTP/1.1 404 Not Found"</span><span style="color:#006600;">&#41;</span>; <span style="color:#000000;">?&gt;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Otra forma si no se tiene acceso a PHP es agregar un metatag en nuestro html para indicarle a los robots que no indexen la página:</p>
<div class="syntax_hilite">
<div id="html-71">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/meta.html"><span style="color: #000000;">&lt;meta</span></a> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">"robots"</span> <span style="color: #000066;">content</span>=<span style="color: #ff0000;">"noindex, nofollow"</span><span style="color: #000000;">&gt;</span></a></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Lo que sigue es creatividad para crear un archivo de error personalizado. Si desean ver una muestra de diferentes paginas de error pueden visitar <a href="http://www.smashingmagazine.com/2009/01/29/404-error-pages-one-more-time/">404 Error Pages, One More Time</a>.</p>
<p><strong>Páginas de error personalizadas con Google</strong><br />
Si eres usuario de <a href="http://www.google.com/webmasters/">Google Webmaster Central</a> podrás hacer uso de un widget para incluir en tus páginas de error 404, el cual sugerirá al visitante las <em>urls</em> semejantes a la ingresada e incluso un buscador, de esta forma le brindamos al usuario posibilidades de encontrar la información deseada.</p>
<p>Para utilizar este script, accedes a tu panel de G<em>oogle Webmaster Central</em>, seleccionas el dominio que deseas, luego accedes en el menu <em>Tools</em> - <em>Enhance 404 pages</em>, en donde encontrarás un código javascript el cual debes incluir en tus paginas de error.</p>
<div class="syntax_hilite">
<div id="html-72">
<div class="html">
<ol>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span><span style="color: #000000;">&gt;</span></a></span></div>
</li>
<li style="color:#26536A;">
<div style="">&nbsp; var GOOG_FIXURL_LANG = 'es';</div>
</li>
<li style="color:#3A6A8B;">
<div style="">&nbsp; var GOOG_FIXURL_SITE = 'http://blog.unijimpe.net/';</div>
</li>
<li style="color:#26536A;">
<div style=""><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span></div>
</li>
<li style="color:#3A6A8B;">
<div style=""><span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span>&nbsp; <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"</span><span style="color: #000000;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000;">&lt;/script&gt;</span></span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>De esta forma ya tienes una página de error personalizada y sobre todo que le dará al visitante las opciones necesarias para encontrar lo que busca.</p>
<p><strong>Mas Información</strong></p>
<ul>
<li><a href="http://codex.wordpress.org/Creating_an_Error_404_Page">Wordpress: Creating an Error 404 Page</a></li>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?answer=93644&#038;ctx=sibling">Enhance your custom 404 page</a></li>
<li><a href="http://www.google.com/support/webmasters/bin/answer.py?answer=100044&#038;hl=en">Customizing the 404 widget</a></li>
<li><a href="http://www.phpro.org/articles/Custom-404-Error-Page.html">Custom 404 Error Page</a></li>
</ul>
                                                <p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br />
                                                                                                  ]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/crear-paginas-de-error-404/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->