<?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>Retrorock &#187; AJAX</title>
	<atom:link href="http://retrorock.info/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://retrorock.info</link>
	<description>Reflexiones y Código por Wilbur Suero</description>
	<lastBuildDate>Sun, 01 Aug 2010 08:25:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Detecta un request Ajax con PHP</title>
		<link>http://retrorock.info/2010/07/detecta-request-ajax-con-php/</link>
		<comments>http://retrorock.info/2010/07/detecta-request-ajax-con-php/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 15:34:49 +0000</pubDate>
		<dc:creator>wilburhimself</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://retrorock.info/?p=701</guid>
		<description><![CDATA[Me gusta usar un solo script para los request AJAX y los request &#8220;normales&#8221; porque resulta en un solo archivo para actualizar y editar. Tener la capacidad de detectar que tipo de request recibimos es útil para determinar que tipo de contenido devolver en la respuesta. Por ejemplo, si es un request AJAX podríamos querer [...]


Related posts:<ol><li><a href='http://retrorock.info/2008/07/javascript-y-ajax-para-seo/' rel='bookmark' title='Permanent Link: Javascript y AJAX para SEO'>Javascript y AJAX para SEO</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Me gusta usar un solo script para los request AJAX y los request &#8220;normales&#8221; porque resulta en un solo archivo para actualizar y editar.</p>
<p>Tener la capacidad de detectar que tipo de request recibimos es útil para determinar que tipo de contenido devolver en la respuesta. Por ejemplo, si es un request AJAX podríamos querer devolver un JSON o un XML y si no lo es, podríamos devolver un HTML.</p>
<p>Una manera de detectar los request AJAX contrario a los requests que hacen un page-load full puede ser con el siguiente código PHP:</p>
<script src="http://gist.github.com/466824.js" type="text/javascript"></script>
<p><strong>$_SERVER['HTTP_X_REQUESTED_WITH']</strong> es la clave para verificar si es request fue hecho con AJAX o no, pero no todos los servidores proveen esta variable, así que tener otras pruebas adicionales sería importante.</p>


<p>Related posts:<ol><li><a href='http://retrorock.info/2008/07/javascript-y-ajax-para-seo/' rel='bookmark' title='Permanent Link: Javascript y AJAX para SEO'>Javascript y AJAX para SEO</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://retrorock.info/2010/07/detecta-request-ajax-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript y AJAX para SEO</title>
		<link>http://retrorock.info/2008/07/javascript-y-ajax-para-seo/</link>
		<comments>http://retrorock.info/2008/07/javascript-y-ajax-para-seo/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 07:07:57 +0000</pubDate>
		<dc:creator>wilburhimself</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Search Engines]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://wilburhimself.com/?p=33</guid>
		<description><![CDATA[Javascript y AJAX nos brindan la capacidad de hacer aplicaciones web dinámicas, que no tienen que cargar una pagina completa para mostrar un fragmento de información, sino que simulan una carga inmediata, lo que significa menos carga para el servidor, menos ancho de banda e información más accesible. Hoy en día, los diseñadores web están [...]


Related posts:<ol><li><a href='http://retrorock.info/2008/06/seo-para-disenadores/' rel='bookmark' title='Permanent Link: SEO para diseñadores'>SEO para diseñadores</a></li>
<li><a href='http://retrorock.info/2010/07/detecta-request-ajax-con-php/' rel='bookmark' title='Permanent Link: Detecta un request Ajax con PHP'>Detecta un request Ajax con PHP</a></li>
<li><a href='http://retrorock.info/2008/04/posicionamiento-web-explicado/' rel='bookmark' title='Permanent Link: Posicionamiento Web Explicado'>Posicionamiento Web Explicado</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Javascript y AJAX nos brindan la capacidad de hacer aplicaciones web dinámicas, que no tienen que cargar una pagina completa para mostrar un fragmento de información, sino que simulan una carga inmediata, lo que significa menos carga para el servidor, menos ancho de banda e información más accesible.</p>
<p>Hoy en día, los diseñadores web están tan enfocados trabajando en sus aplicaciones web dinámicas que se olvidan de que la mayoría del tráfico es proveniente de los buscadores, que pasan mucho trabajo, o no pueden indexar los enlaces hechos con AJAX.</p>
<p>En otras palabras, muchas de tus páginas en AJAX están escondidas para los buscadores. Para completar el problema, la mayoría de los websites en AJAX tienen un solo link, el buscador tiene menos páginas que indexar.</p>
<p>La idea es optimizar nuestros sitios para que el javascript no haga que nuestros links no sean indexados. Aquí hay una pequeña guía para crear u optimizar un website con Javascript/AJAX que sea totalmente amigable con Google.</p>
<p style="padding-left: 30px;">Diseña tu websites usando Javascript Degradable, de forma que el website sea totalmente navegable para un visitante sin Javascript y para otro con Javascript.</p>
<p style="padding-left: 30px;">Cuando tengas un website navegable completamente sin Javascript, entonces puedes comenzar a incluir las partes de AJAX en algunos lugares.</p>
<p style="padding-left: 30px;">Es bueno ir revisando el desarrollo del diseño en un browser de texto, como Lynx o <a href="http://www.seo-browser.com/">SEO Browser</a></p>
<p style="padding-left: 30px;">Detecta si los objetos existen, o si es un browser con capacidad de ejecutar Javascript, para que solo sirvas AJAX a quienes pueden usarlo.</p>
<p>Aparte de esos pasos es de  suma importancia enviar un sitemap completo del website. El sitemap solo no es suficiente, todo el conjunto es necesario para que funcione perfectamente.</p>
<p>De esta forma es posible utilizar Javascript y AJAX en nuestros websites de forma que sean accesibles y que sean visibles para los buscadores.</p>


<p>Related posts:<ol><li><a href='http://retrorock.info/2008/06/seo-para-disenadores/' rel='bookmark' title='Permanent Link: SEO para diseñadores'>SEO para diseñadores</a></li>
<li><a href='http://retrorock.info/2010/07/detecta-request-ajax-con-php/' rel='bookmark' title='Permanent Link: Detecta un request Ajax con PHP'>Detecta un request Ajax con PHP</a></li>
<li><a href='http://retrorock.info/2008/04/posicionamiento-web-explicado/' rel='bookmark' title='Permanent Link: Posicionamiento Web Explicado'>Posicionamiento Web Explicado</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://retrorock.info/2008/07/javascript-y-ajax-para-seo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 101 (introducción)</title>
		<link>http://retrorock.info/2008/04/jquery-101/</link>
		<comments>http://retrorock.info/2008/04/jquery-101/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 04:53:45 +0000</pubDate>
		<dc:creator>wilburhimself</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://wilburhimself.com/2008/04/09/jquery-101/</guid>
		<description><![CDATA[jQuery es una librería que nos ayuda a simplificar la programación en javascript y AJAX. A diferencia de otras librerías de javascript, jQuery nos permite expresar un código muy complejo de la forma más sencilla y corta posible. La metodología es simple: Encuentra cosas, y actúa sobre ellas. Encontramos los elementos con el objeto jQuery [...]


Related posts:<ol><li><a href='http://retrorock.info/2009/12/envolviendo-el-cdigo-jquery-wrap/' rel='bookmark' title='Permanent Link: Envolviendo el código &#8211; jQuery Wrap()'>Envolviendo el código &#8211; jQuery Wrap()</a></li>
<li><a href='http://retrorock.info/2008/03/menus-dropdown-con-jquery/' rel='bookmark' title='Permanent Link: Menús Dropdown con jQuery'>Menús Dropdown con jQuery</a></li>
<li><a href='http://retrorock.info/2009/07/loops-en-jquery-con/' rel='bookmark' title='Permanent Link: Loops en jQuery con .each()'>Loops en jQuery con .each()</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>jQuery es una librería que nos ayuda a simplificar la programación en javascript y AJAX. A diferencia de otras librerías de javascript, jQuery nos permite expresar un código muy complejo de la forma más sencilla y corta posible.</p>
<p>La metodología es simple: Encuentra cosas, y actúa sobre ellas. Encontramos los elementos con el objeto jQuery <span class="icode">$()</span>, que funciona básicamente como  <span class="icode">document.getElementById</span>, excepto que no solo soporta ids sino también selectores de CSS y xPath, en vez de retornar solo un elemento, puede retornar un array de elementos.</p>
<p>Aquí una pequeña muestra del impacto que jQuery puede tener en tu código. Para una  tarea sencilla como añadir un evento al click en los links de una región en una página, usarías javascript y métodos del DOM asi:<br />
<script src="http://gist.github.com/295497.js?file=dom.js"></script></p>
<p>Con jQuery vamos directo al punto y nos ahorramos tener que hacer un loop sobre todos los elementos, no hay necesidad de usar múltiples métodos del DOM, solo con un pequeño string tenemos lo que necesitamos.</p>
<p><strong>Cuando este listo &#8230; $(document).ready()<br />
</strong></p>
<p>Es lo primero que hay que aprender de jQuery. Si quieres que un evento funcione en la página hay que llamarlo dentro de <span class="icode">$(document).ready()</span>, todo lo que este dentro de esta llamada, será ejecutado justo cuando el DOM este listo y antes de que el contenido de la página se cargue.<br />
<script src="http://gist.github.com/295497.js?file=ready.js"></script><br />
La ventaja  de <span class="icode">$(document).ready()</span> es que se pueden tener tantos llamados a este método como sea necesario, aparte de que se ejecuta antes de que el contenido de la página este disponible, permitiendo que una cantidad de efectos de esconder, mostrar y otros, estén listas inmediatamente cuando el usuario ve por primera vez los elementos de la página.</p>
<p><strong>Añadiendo contenido</strong></p>
<p>Con jQuery tenemos acceso de forma  pragmática al Dom, navegar el documento, tomar y modificar los atributos de los elementos y podemos quitar e insertar contenido.<br />
<script src="http://gist.github.com/295497.js?file=add_content.js"></script><br />
Este fragmento aparte de mostrar la facilidad para insertar contenido al DOM, un efecto fadeIn, y aplicarle un estilo CSS al nuevo elemento, es un ejemplo de otra de las ventajas de jQuery,  el encadenamiento de los llamados a los métodos.</p>
<p>Cada vez que se llama un método de jQuery, esta retorna el mismo objecto jQuery, lo que nos permite volverlo a utilizar sin tener que repetir el selector.</p>
<p><strong>Efectos</strong></p>
<p>jQuery cuenta con un grupo importante de efectos como <span class="icode">show(&#8220;speed&#8221;)</span>, <span class="icode">hide(&#8220;speed&#8221;)</span>, <span class="icode">fadeIn()</span>, <span class="icode">fadeOut()</span>, <span class="icode">slideUp()</span>, <span class="icode">slideDown()</span>, aparte de algunos efectos que sirven para cambiar el estado visible o invisible de un elemento dependiendo de su estado actual <span class="icode">toggle()</span>.</p>
<p>Cuando son llamados sin el parametro de velocidad los metodos <span class="icode">show()</span> y <span class="icode">hide()</span>, muestran o esconden inmediatamente el elemento en cuestion. Todos el resto de este grupo de metodos llamados sin parametro de velocidad, usan la velocidad por defecto 400ms.</p>
<p><strong>&#8230; Despues de jQuery &#8230; </strong></p>
<p>Solo hé tratado una minúscula introducción sobre lo que es posible con jQuery. jQuery es divertido, porque siempre se aprenden nuevos trucos que resultan increíblemente naturales. jQuery simplifica tu código javascript desde la primera vez que lo usas, cada vez que aprendes algo tu código es un poco más simple.</p>
<p>Algunos links importantes:</p>
<ul>
<li><a title="http://docs.jquery.com" href="http://docs.jquery.com" target="_blank">http://docs.jquery.com</a></li>
<li><a title="http://visualjquery.com" href="http://visualjquery.com" target="_blank">http://visualjquery.com</a></li>
<li><a title="http://15daysofjquery.com" href="http://15daysofjquery.com" target="_blank">http://15daysofjquery.com</a></li>
</ul>


<p>Related posts:<ol><li><a href='http://retrorock.info/2009/12/envolviendo-el-cdigo-jquery-wrap/' rel='bookmark' title='Permanent Link: Envolviendo el código &#8211; jQuery Wrap()'>Envolviendo el código &#8211; jQuery Wrap()</a></li>
<li><a href='http://retrorock.info/2008/03/menus-dropdown-con-jquery/' rel='bookmark' title='Permanent Link: Menús Dropdown con jQuery'>Menús Dropdown con jQuery</a></li>
<li><a href='http://retrorock.info/2009/07/loops-en-jquery-con/' rel='bookmark' title='Permanent Link: Loops en jQuery con .each()'>Loops en jQuery con .each()</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://retrorock.info/2008/04/jquery-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
