<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7721310404590096631</id><updated>2011-11-27T16:51:43.221-08:00</updated><category term='diseño web'/><category term='Humor'/><category term='css'/><category term='ajax'/><title type='text'>DiegusWeb</title><subtitle type='html'>diegusweb que trata de distintos temas relacionados a la programación en PHP, la utilizacion de Ajax, css, smarty, ruby, web 2.0, y nuevas tecnologias.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-1540321992839771399</id><published>2008-02-22T14:08:00.000-08:00</published><updated>2008-02-22T16:00:16.470-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Librerias isiAJAX</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_vtkeaxGsD7I/R79he3M-OiI/AAAAAAAAAF0/92Ao2chTjEo/s1600-h/isi.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5169958080086948386" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_vtkeaxGsD7I/R79he3M-OiI/AAAAAAAAAF0/92Ao2chTjEo/s320/isi.jpg" border="0" /&gt;&lt;/a&gt; Es una libreria escrita en JavaScript para trabajar con &lt;a href="http://es.wikipedia.org/wiki/AJAX" target="_blank"&gt;AJAX&lt;/a&gt;. Tiene varias funciones que facilitan el trabajo con esta nueva forma de transferencia de datos. Una de las caracteristicas de isiAJAX esque no depende de ningun lenguaje web de servidor, funciona para cualquiera y no necesita, PHP, ASP ni JSP.&lt;br /&gt;&lt;br /&gt;Es tambien ideal para combinar con otro proyecto que ya hice &lt;a href="http://isixml.sourceforge.net/" target="_blank"&gt;isiXML&lt;/a&gt; juntos forman la pareja perfecta para trabajar con AJAX y XML.&lt;br /&gt;&lt;br /&gt;Entre los ejemplos que muestra tienen:&lt;br /&gt;&lt;br /&gt;- Envio de comentarios&lt;br /&gt;- Actualizacion de registros in situ&lt;br /&gt;- Ejemplo usando base de datos y busquedas compleja&lt;br /&gt;- Lector RSS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-1540321992839771399?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/1540321992839771399/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=1540321992839771399' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1540321992839771399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1540321992839771399'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2008/02/framework-isiajax.html' title='Librerias isiAJAX'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vtkeaxGsD7I/R79he3M-OiI/AAAAAAAAAF0/92Ao2chTjEo/s72-c/isi.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-3097834354626022090</id><published>2008-02-22T14:05:00.000-08:00</published><updated>2008-02-22T16:00:54.633-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>AJAX no es un fin, es un medio</title><content type='html'>Mucha gente dará por sentado que si alguien preocupado por temas de usabilidad y accesibilidad hace un artículo sobre AJAX es para concluir: “no uséis AJAX, es el demonio, AJAX no es accesible”.&lt;br /&gt;&lt;br /&gt;Nada más lejos de mis intenciones. Me gusta AJAX, he trabajado con AJAX y recomiendo a menudo AJAX. Y aquí entran las matizaciones.&lt;br /&gt;&lt;br /&gt;- Recomiendo AJAX para problemas concretos y siempre con sentido común.&lt;br /&gt;&lt;br /&gt;- No recomiendo AJAX a toda costa, para todo, sólo porque los demás lo están usando o con el único afán de hacer alarde del dominio de la tecnología de moda. Usar AJAX con cualquier otro objetivo que no sea el de hacer más fácil, satisfactoria y productiva la experiencia del usuario, es simplemente una estupidez, y lo que es peor, un error que se descubre demasiado tarde.&lt;br /&gt;&lt;br /&gt;En definitiva: AJAX no es un fin, es un medio para mejorar la experiencia del usuario. Parece evidente, pero un inquietante número de arquitectos y diseñadores software pierden la perspectiva.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-3097834354626022090?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/3097834354626022090/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=3097834354626022090' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3097834354626022090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3097834354626022090'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2008/02/ajax-no-es-un-fin-es-un-medio.html' title='AJAX no es un fin, es un medio'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-3909927961038470562</id><published>2008-02-22T13:55:00.000-08:00</published><updated>2008-02-22T16:00:16.470-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Tablesorter: Ordenar tabla con jQuery</title><content type='html'>&lt;span style="color:#cc0000;"&gt;&lt;strong&gt;Tablesorter&lt;/strong&gt;&lt;/span&gt; es un plugin para jQuery que convierte una tabla estándar HTML con etiquetas THEAD y TBODY en una tabla ordenable sin necesidad de recargar la página (AJAX). Tablesorter puede analizar y clasificar de manera satisfactoria muchos tipos de datos.&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5169927504214768146" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 431px; CURSOR: hand; HEIGHT: 130px; TEXT-ALIGN: center" height="130" alt="" src="http://4.bp.blogspot.com/_vtkeaxGsD7I/R79FrHM-OhI/AAAAAAAAAFs/kNT9ZlpdItw/s320/tabla.jpg" width="320" border="0" /&gt;&lt;strong&gt;&lt;span style="color:#333399;"&gt;Características&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;div&gt;&lt;span style="color:#333399;"&gt;&lt;/span&gt;&lt;br /&gt;- Ordenado de múltiples columnas.&lt;br /&gt;- Ordenado de datos tipo: texto, URI, enteros, moneda, punto flotante, direcciones IP, fechas (ISO, formatos largos y cortos), hora e incluso un formato propio.&lt;br /&gt;- Soporta etiquetas ROWSPAN y COLSPAN en TH (cabeceras).&lt;br /&gt;- Soporta formato de ordenado secundario. Es decir, puede ordenar alfabeticamente y como formato secundario: ordenar por números.&lt;br /&gt;- El tamaño del archivo 7.4KB.&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;articulo sacado de: &lt;a href="http://www.ribosomatic.com/"&gt;ribosomatic&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-3909927961038470562?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/3909927961038470562/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=3909927961038470562' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3909927961038470562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3909927961038470562'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2008/02/tablesorter-ordenar-tabla-con-jquery.html' title='Tablesorter: Ordenar tabla con jQuery'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vtkeaxGsD7I/R79FrHM-OhI/AAAAAAAAAFs/kNT9ZlpdItw/s72-c/tabla.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-4087136919318255551</id><published>2008-02-22T13:44:00.000-08:00</published><updated>2008-02-22T16:00:16.470-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Phatfusion</title><content type='html'>&lt;a href="http://www.phatfusion.net/" target="_blank"&gt;Phatfusion&lt;/a&gt; es un sitio web donde encontramos muchas utilidades javascript-flash de gran calidad. Un lugar muy visitado por los desarrolladores web. &lt;img id="BLOGGER_PHOTO_ID_5169925781932882434" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_vtkeaxGsD7I/R79EG3M-OgI/AAAAAAAAAFk/URaPAemplxM/s320/phaiton.jpg" border="0" /&gt;Podemos encontrar:&lt;br /&gt;&lt;p&gt;- Image Menu&lt;br /&gt;- Validate&lt;br /&gt;- Lightbox&lt;br /&gt;- Multibox&lt;br /&gt;- Slider&lt;br /&gt;- y muchos mas&lt;/p&gt;&lt;p&gt;Todos hechos con mootools con soporte para imágenes, video, flash, mp3's y html. Compatible con Firefox 2, IE6, IE7 y Safari.Realmente muy útil.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-4087136919318255551?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/4087136919318255551/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=4087136919318255551' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/4087136919318255551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/4087136919318255551'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2008/02/phatfusion.html' title='Phatfusion'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vtkeaxGsD7I/R79EG3M-OgI/AAAAAAAAAFk/URaPAemplxM/s72-c/phaiton.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-7020304125629024335</id><published>2007-11-20T07:55:00.000-08:00</published><updated>2008-02-22T16:00:54.633-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Taller de JavaScript: Ajax y manipulación del DOM</title><content type='html'>Estas diapositivas muestran paso a paso los conceptos resumidos y prácticos de JavaScript, Ajax, DOM y jQuery (en inglés).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="__ss_162633" style="WIDTH: 425px; TEXT-ALIGN: left"&gt;&lt;object style="MARGIN: 0px" height="355" width="425"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=javascript-ajax-dom-manipulation-1194831365260172-2"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=javascript-ajax-dom-manipulation-1194831365260172-2" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="FONT-SIZE: 11px; PADDING-TOP: 2px; FONT-FAMILY: tahoma,arial; HEIGHT: 26px"&gt;&lt;a href="http://www.slideshare.net/?src=embed"&gt;&lt;img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN-BOTTOM: -5px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" alt="SlideShare" src="http://static.slideshare.net/swf/logo_embd.png" /&gt;&lt;/a&gt;  &lt;a title="View 'JavaScript: Ajax &amp;amp; DOM Manipulation' on SlideShare" href="http://www.slideshare.net/borkweb/javascript-ajax-dom-manipulation"&gt;View&lt;/a&gt;  &lt;a href="http://www.slideshare.net/upload"&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-7020304125629024335?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/7020304125629024335/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=7020304125629024335' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/7020304125629024335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/7020304125629024335'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/11/taller-de-javascript-ajax-y-manipulacin.html' title='Taller de JavaScript: Ajax y manipulación del DOM'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-1023611644962897033</id><published>2007-11-20T06:07:00.001-08:00</published><updated>2008-02-22T16:00:54.634-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Aplicaciones AJAX interesantes</title><content type='html'>&lt;p&gt;Algunas de las aplicaciones &lt;a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29"&gt;AJAX&lt;/a&gt; más interesantes que circulan por internet:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kiko.com/"&gt;Kiko&lt;/a&gt;: Calendario online. Están preparando una API.&lt;br /&gt;&lt;a href="http://www.backbase.com/demos/RSS/#aid=901[1]"&gt;Backbase’s RSS Reader&lt;/a&gt;: Buen diseño, posibilidad de &lt;a href="http://www.backbase.com/#dev/download/rssreader.xml[0]"&gt;descargar la aplicación&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.backpackit.com/"&gt;BackPack&lt;/a&gt;: Gestor de proyectos (con un todo-list)&lt;br /&gt;&lt;a href="http://www.writely.com/"&gt;Writely&lt;/a&gt;: Un procesador de textos online, podemos exportar a formatos word y están pendientes de añadir funcionalidades para blogs y API.&lt;br /&gt;&lt;a href="http://www.francisshanahan.com/zuggest.aspx"&gt;Amazon Zuggest&lt;/a&gt;: Una especie de Google Suggest pero con Amazon.&lt;br /&gt;&lt;a href="http://www.formassembly.com/time-tracker/"&gt;Time Tracker&lt;/a&gt;: Gestor de tiempo&lt;br /&gt;&lt;a href="http://johnvey.com/features/deliciousdirector/"&gt;Del.icio.us Director&lt;/a&gt;: Gestor de links en &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;&lt;br /&gt;&lt;a href="http://projects.backbase.com/RUI/portal.html"&gt;Backbase’s Information Portal&lt;/a&gt;: Portal tipo página de inicio, con noticias, el tiempo, etc…&lt;br /&gt;&lt;a href="http://www.protopage.com/"&gt;Protopage&lt;/a&gt;: Otro portal similar al anterior, con posibilidad de agregar feeds.&lt;br /&gt;&lt;a href="http://code.jalenack.com/periodic/"&gt;Periodic Table of the Elements&lt;/a&gt;: Tabla periódica de elementos para estudiantes de química.&lt;br /&gt;&lt;a href="http://www.unwieldy.net/ajaxim/"&gt;AJAX IM&lt;/a&gt;: Cliente tipo messenger vía web.&lt;br /&gt;&lt;a href="http://www.tadalist.com/"&gt;Tadalist&lt;/a&gt;: Otro todo list (cosas pendientes de hacer), lista de tareas pendientes.&lt;br /&gt;&lt;a href="http://www.24sevenoffice.com/"&gt;24SevenOffice&lt;/a&gt;: un ERP/CRM impresionante, aunque de pago y solo via online. Podemos verlo funcionar &lt;a href="http://www.24sevenoffice.com/testDrive.asp"&gt;aquí&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;También podemos encontrar algunos otros en: &lt;a href="http://www.ajaxian.com/"&gt;Ajaxian&lt;/a&gt;, &lt;a href="http://techcrunch.com/"&gt;Techcrunch&lt;/a&gt; o en &lt;a href="http://www.readwriteweb.com/"&gt;Readwriteweb&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-1023611644962897033?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/1023611644962897033/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=1023611644962897033' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1023611644962897033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1023611644962897033'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/11/aplicaciones-ajax-interesantes.html' title='Aplicaciones AJAX interesantes'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-1840283686314801748</id><published>2007-11-20T05:52:00.000-08:00</published><updated>2007-11-20T05:58:24.905-08:00</updated><title type='text'>JavaScript: Compatibilidad de Firefox con IExplorer</title><content type='html'>Firefox tiende a cumplir con alegría la especificación de JavaScript actual (la 1.8 y en breve la 2.0, también llamada ECMAScript pues ECMA es la entidad encargada de estandarizar JavaScript), mientras que IE, como todo lo de Microsoft, se escora hacia lo propietario, utilizando formas de acceso a propiedades no estandarizadas o, incluso, inventándose nuevas. De hecho, la versión de JavaScript de Microsoft se llama JScript, siendo diferentes el conjunto de objetos y propiedades accesibles desde JavaScript y desde JScript (distintos árboles DOM).&lt;br /&gt;&lt;br /&gt;Si se programa únicamente pensando en IE (JScript) queda en el aire qué pasaría con navegadores que, siendo compatibles con JavaScript, no lo sean con JScript: Opera, Safari, Netscape, Konkeror,... y un largo etcétera de los mackeros y linuxeros.&lt;br /&gt;&lt;br /&gt;Sin embargo, si se lleva todo hacia JavaScript perdemos al navegador potencialmente más frecuente, el IE.&lt;br /&gt;&lt;br /&gt;Solución: de compromiso, como siempre.&lt;br /&gt;&lt;br /&gt;Se coge el Firefox y se le instala un parseador o intérprete de JavaScript con consola de errores (recomiendo la extensión Firebug, habilitando la detección de todos los errores posibles, incluso warnings). Ejecutamos la web en cuestión y vamos comprobando los fallos.&lt;br /&gt;&lt;br /&gt;Por cada uno se ve la llamada equivalente estándar que debería funcionar y se ponen las dos opciones, con un if-then-else.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;EJEMPLO (no funcionaría en Firefox):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;var obj = null;&lt;br /&gt;&lt;br /&gt;obj = document.all("nombreelemento");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;acciones&gt;document.all NO funciona en Firefox, pero sí en IE. Es común que la gente copie y pegue este código desde cualquier ejemplo de Internet. (En realidad, las últimas versiones de Firefox sí que son compatibles con la llamada document.all(“nombrelemento”), pero al interrogar al browser por la existencia del método document.all devuelve “false”, precisamente por compatibilidad con los estándares de JavaScript.)&lt;br /&gt;&lt;br /&gt;CÓMO RESOLVERLO:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;var obj = null;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;if (document.all){&lt;/span&gt; &lt;span style="color:#ffcc33;"&gt;/* Requiere que los IDs sean únicos en la página y que no coincidan con el atributo NAME de otros elementos. DOM de JScript, IE.*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;obj = document.all["nombreelemento"];&lt;br /&gt;} else if (document.getElementById){ &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ffcc00;"&gt;/* Para navegadores que soporten el DOM W3C. Firefox. */&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;obj = document.getElementById("nombreelemento");&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;acciones&gt;&lt;br /&gt;&lt;br /&gt;MÁS RÁPIDO AÚN (usando la forma abreviada del if-else):&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;var obj = document.all ? document.all("nombreelemento") : document.getElementById("nombreelemento");&lt;/span&gt;&lt;br /&gt;&lt;acciones&gt;&lt;br /&gt;&lt;br /&gt;OTRA POSIBILIDAD: que haya propiedades sin correspondencia, por ejemplo:&lt;br /&gt;La tecla pulsada en IE se recoge en event.keyCode y en Firefox (y demás W3C compatibles) en event.which.&lt;br /&gt;&lt;br /&gt;if (((document.all) ? event.keyCode : event.which)==13) &lt;acciones&gt;&lt;br /&gt;&lt;br /&gt;IE leerá el event.keyCode y Firefox event.which.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Alfonso Diego de Gea García.&lt;br /&gt;Ingeniero Informático.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-1840283686314801748?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/1840283686314801748/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=1840283686314801748' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1840283686314801748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1840283686314801748'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/11/javascript-compatibilidad-de-firefox.html' title='JavaScript: Compatibilidad de Firefox con IExplorer'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-273986038729503357</id><published>2007-09-13T11:38:00.000-07:00</published><updated>2007-09-13T11:45:04.865-07:00</updated><title type='text'>Prototype window class</title><content type='html'>&lt;a href="http://prototype-window.xilinus.com" target="_blank"&gt;Prototype window class&lt;/a&gt; libreria basada en &lt;strong&gt;Prototype&lt;/strong&gt;, con la que podremos emular ventanas de cualquier entorno gráfico.&lt;br /&gt;&lt;br /&gt;Con el manejo JavaScript y CSS nos permite emular ventanas dentro de páginas web. Dispone de varios temas y permite mover las ventanas creadas, redimensionarlas, crear alertas, cuadros de diálogo, cargar URLs externas o datos mediante &lt;strong&gt;AJAX&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5109760688741157250" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 353px; CURSOR: hand; HEIGHT: 186px; TEXT-ALIGN: center" height="161" alt="" src="http://2.bp.blogspot.com/_vtkeaxGsD7I/RumERhOsCYI/AAAAAAAAAEI/xnWoakP39Lk/s320/ventanas.jpg" width="353" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-273986038729503357?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/273986038729503357/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=273986038729503357' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/273986038729503357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/273986038729503357'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/09/prototype-window-class.html' title='Prototype window class'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vtkeaxGsD7I/RumERhOsCYI/AAAAAAAAAEI/xnWoakP39Lk/s72-c/ventanas.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-7292427464347038725</id><published>2007-09-06T17:52:00.000-07:00</published><updated>2007-09-06T18:03:06.106-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>MiniAjax.com</title><content type='html'>&lt;a href="http://www.miniajax.com/"&gt;MiniAjax.com&lt;/a&gt; es un sitio web donde se exponen pequeños scripts que utilizan la tecnología AJAX.&lt;br /&gt;&lt;div&gt;El sitio que recopila librerias DHTML y Ajax gratuitas para los desarrolladores WEB esta aplicaciones podemos descargarlas y usarlas en cualquier proyecto que estemos desarrollando.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Una buen sitio para mantenernos al tanto de este tipo de scripts que, reconozcámoslo, no te van a hacer el trabajo pero pueden añadir un toque de “estilo” a tus desarrollos.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5107260428047640242" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 397px; CURSOR: hand; HEIGHT: 223px; TEXT-ALIGN: center" height="180" alt="" src="http://3.bp.blogspot.com/_vtkeaxGsD7I/RuCiTMUwZrI/AAAAAAAAACg/sCxknWxXHPM/s320/miniajax.jpg" width="397" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-7292427464347038725?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/7292427464347038725/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=7292427464347038725' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/7292427464347038725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/7292427464347038725'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/09/miniajaxcom.html' title='MiniAjax.com'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vtkeaxGsD7I/RuCiTMUwZrI/AAAAAAAAACg/sCxknWxXHPM/s72-c/miniajax.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-2635704485469211249</id><published>2007-09-06T07:51:00.000-07:00</published><updated>2007-09-06T17:49:17.859-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>GCOEX X, escritorio web sobre Ajax</title><content type='html'>&lt;a title="Escritorio web" href="http://www.gcoex.com/" target="_blank"&gt;GCOE X&lt;/a&gt; es un entorno o escritorio web libre el cual se puede utilizar desde cualquier computadora. Para su funcionamiento no se necesita instalar plugins o algún programa ya que se ejecuta en cualquier navegador web que soporte Javascript (usa Ajax).&lt;br /&gt;&lt;br /&gt;El entorno de GCOE X contiene aplicaciones como: chat, bloc de notas ,terminal, navegador web,  y otros mas, es lo que se muestra en su &lt;a title="Demo GCOE X" href="http://www.gcoex.com/?page_id=14" target="_blank"&gt;demostracion&lt;/a&gt;. No hay duda que las aplicaciones web ganan terreno cada día, una de las principales ventajas es la utilizacion en cualquier momento y cualquier pc que tenga conexion a internet.&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5107105792045115010" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 394px; CURSOR: hand; HEIGHT: 253px; TEXT-ALIGN: center" height="204" alt="" src="http://3.bp.blogspot.com/_vtkeaxGsD7I/RuAVqMUwZoI/AAAAAAAAACM/Tugh55lMT6c/s320/virtual.jpg" width="394" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-2635704485469211249?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/2635704485469211249/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=2635704485469211249' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/2635704485469211249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/2635704485469211249'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/09/gcoex-x-escritorio-web-sobre-ajax.html' title='GCOEX X, escritorio web sobre Ajax'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vtkeaxGsD7I/RuAVqMUwZoI/AAAAAAAAACM/Tugh55lMT6c/s72-c/virtual.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-8759184489867880860</id><published>2007-09-06T07:18:00.000-07:00</published><updated>2007-09-06T08:00:45.562-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Autocompletar</title><content type='html'>Este es un ejempo de la tecnología AJAX, con la cual se pueden enviar y recibir datos al servidor sin tener que recargar toda la página.&lt;br /&gt;&lt;br /&gt;Este ejemplo imita en parte el comportamiento de &lt;a href="http://www.google.com/webhp?complete=1&amp;hl=en" target="_blank"&gt;google suggest&lt;/a&gt; (al entrar en esa web, tendrás que teclear algo para ver el efecto).&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5107100818472986226" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_vtkeaxGsD7I/RuARIsUwZnI/AAAAAAAAACE/HnSfJbTZGrY/s320/ajax-javascript-scripts-53.gif" border="0" /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a class="link2" href="http://www.lawebdelprogramador.com/codigo/down.php?idp=1493"&gt;Descarga el script&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-8759184489867880860?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/8759184489867880860/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=8759184489867880860' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/8759184489867880860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/8759184489867880860'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/09/autocompletar.html' title='Autocompletar'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vtkeaxGsD7I/RuARIsUwZnI/AAAAAAAAACE/HnSfJbTZGrY/s72-c/ajax-javascript-scripts-53.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-1385073347459777297</id><published>2007-09-06T07:11:00.000-07:00</published><updated>2007-09-06T17:43:19.266-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño web'/><title type='text'>Mas de 450 utilidades en Ajax, Javascript y Dhtml</title><content type='html'>&lt;a href="http://www.ajaxrain.com/index.php"&gt;AjaxRain&lt;/a&gt;  es un sitio que ofrece ejemplos y demos para descargar con tecnología Ajax (ide, librerías, demos, ejemplos, código fuente) sobre Ajax, Javascript y Dhtml; de momento existen mas 485 utilidades. Así que si estamos por desarrollar un proyecto en el que usemos javascript y demas cosas, seria bueno darle un vistazo y ver que utilidades nos puede ofecer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5107094195633415778" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_vtkeaxGsD7I/RuALHMUwZmI/AAAAAAAAAB8/h_K16HIhIc8/s320/untitled.bmp" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-1385073347459777297?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/1385073347459777297/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=1385073347459777297' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1385073347459777297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1385073347459777297'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/09/mas-de-450-utilidades-en-ajax.html' title='Mas de 450 utilidades en Ajax, Javascript y Dhtml'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vtkeaxGsD7I/RuALHMUwZmI/AAAAAAAAAB8/h_K16HIhIc8/s72-c/untitled.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-6453362202562729003</id><published>2007-09-06T07:03:00.000-07:00</published><updated>2007-09-11T12:46:14.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Aprendiendo jQuery en 15 minutos</title><content type='html'>Vía &lt;a href="http://ajaxian.com/"&gt;Ajaxian&lt;/a&gt;, una pequeña presentacion acerca del uso de &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;. Explica selectores CSS, manejo de eventos, Ajax entre otros.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object type="application/x-shockwave-flash" data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=88304&amp;doc=jquery-in-15-minutes1421" width="425" height="348"&gt;&lt;param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=88304&amp;doc=jquery-in-15-minutes1421" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-6453362202562729003?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/6453362202562729003/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=6453362202562729003' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/6453362202562729003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/6453362202562729003'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/09/aprendiendo-jquery-en-15-minutos.html' title='Aprendiendo jQuery en 15 minutos'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-7394042109929229455</id><published>2007-07-12T18:13:00.000-07:00</published><updated>2007-07-12T18:30:17.871-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Recuperando datos mediante la propiedad responseXML</title><content type='html'>El atributo responseXML devuelve una referéncia al cuerpo del documento descargado del servidor en una petición con XMLHttpRequest en formato XML.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000066;"&gt;Utilización&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;oDocumento = oXMLHttpRequest.responseXML;&lt;br /&gt;&lt;br /&gt;oDocumento - Referéncia al cuerpo del objeto recibido.&lt;br /&gt;oXMLHttpRequest - Objeto XMLHttpRequest&lt;br /&gt;&lt;br /&gt;La propiedad responseXML se utiliza para tratar los datos recibidos en formato XML desde el servidor, podremos acceder a los datos siempre y cuando el estado de la conexión devuelto con readyStatechange sea igual a 4 (a punto).&lt;br /&gt;&lt;br /&gt;Esta propiedad nos devolverá null siempre que la respuesta XMLdel servidor no tenga el encabezado text/xml, application/xml o acabe en +xml.&lt;br /&gt;&lt;br /&gt;Utilizaremos las propiedades del Modelo de Objetos de Documento (DOM) para tratar los datos XML recibidos.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Ejemplo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Habiendo creado el objeto XMLHttpRequest oXMLHttpRequest previamente y realizado una petición de un xml con marcas &lt;item&gt;haremos que nos alerte el número de item's.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#999999;"&gt;// Creamos la función &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;function fFuncion ()&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;{&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#666666;"&gt;// Si el estado es "A punto"&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;if ( oXMLHttpRequest.readyState == 4) &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;{&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Accedemos al documento XML&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;oDocumento = oXMLHttpRequest.responseXML.documentElement; &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Alertamos el numeto de item's&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;alert ( oDocumento.getElementsByTagName('item').length ); &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;} }&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Definimos la función handler del evento&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#000099;"&gt;oXMLHttpRequest.onreadystatechange = fFuncion;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-7394042109929229455?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/7394042109929229455/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=7394042109929229455' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/7394042109929229455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/7394042109929229455'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/07/recuperando-datos-mediante-la-propiedad_12.html' title='Recuperando datos mediante la propiedad responseXML'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-2909110665579836554</id><published>2007-07-12T17:58:00.000-07:00</published><updated>2007-07-12T18:31:44.943-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Recuperando datos mediante la propiedad responseText</title><content type='html'>&lt;p&gt;Normalmente accederemos a la propiedad responseText cuando el objeto&lt;strong&gt; XMLHttpRequest&lt;/strong&gt; nos informa que toda la información fue remitida por el servidor, esto ocurre cuando la propiedad readyState del objeto XMLHttpRequest almacena el valor 4.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;El atributo responseText devuelve el texto del documento descargado del servidor en una petición con XMLHttpRequest.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Utilización &lt;/span&gt;&lt;/p&gt;&lt;p&gt;sDocumento = oXMLHttpRequest.&lt;strong&gt;responseText&lt;/strong&gt;;&lt;br /&gt;sDocumento - Cadena de caracteres con el texto del documento.&lt;br /&gt;oXMLHttpRequest - Objeto XMLHttpRequest &lt;/p&gt;&lt;p&gt;&lt;br /&gt;La propiedad responseText se utiliza para tratar los datos recibidos desde el servidor que no tienen formato XML, podremos acceder a los datos siempre y cuando el estado de la conexión devuelto con readyStatechange sea igual a 3 (recibiendo) o 4 (a punto). &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Siempre que podamos intentaremos usar responseXML en lugar de responseText y XML para la los datos en lugar de texto plano.&lt;/p&gt;&lt;span style="font-size:85%;"&gt;&lt;p&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Creamos la función&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000099;"&gt;function fFuncion ()&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Si el estado es "A punto"&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000099;"&gt;if ( oXMLHttpRequest.readyState == 4)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000099;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Alertamos el texto&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000099;"&gt;alert ( oXMLHttpRequest.responseText );&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;color:#000099;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Definimos la función handler del evento&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000099;"&gt;oXMLHttpRequest.onreadystatechange = fFuncion;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:+0;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-2909110665579836554?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/2909110665579836554/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=2909110665579836554' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/2909110665579836554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/2909110665579836554'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/07/recuperando-datos-mediante-la-propiedad.html' title='Recuperando datos mediante la propiedad responseText'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-2176533562920988938</id><published>2007-06-13T11:32:00.000-07:00</published><updated>2007-06-13T11:45:21.502-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Realizar una petición con AJAX</title><content type='html'>Continuando con nuestro repaso sobre ajax , ahora veremos el primer paso para establecer la comunicación con el servidor haciendo la petición, posteriormente, el servidor nos preparará y devolverá una información que ya veremos más adelante como recibimos, tratamos e incorporamos en nuestra página.&lt;br /&gt;&lt;br /&gt;Existen dos tipos de petición al servidor que explicaremos en la referéncia del método open, la petición síncrona y la asíncrona, pero por definición AJAX utiliza comunicación asíncrona que es la que explicaremos.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Realizando la petición al servidor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Utilizaremos los métodos&lt;strong&gt; open&lt;/strong&gt;, &lt;strong&gt;onreadystatechange&lt;/strong&gt; y &lt;strong&gt;send&lt;/strong&gt;, que sirven respectivamente para preparar la petición, seleccionar la función de recepción e iniciar la petición.&lt;br /&gt;&lt;br /&gt;Al método open, hay que pasarle el método de petición (GET) y la URL que se enviará al servidor y mediante la cual, el servidor, creará la respuesta que posteriormente leeremos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#666666;"&gt;// Creamos el objeto&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;ohttp = AJAXCrearObjeto();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#666666;"&gt;// Preparamos la petición&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;ohttp.open('GET', 'archivo.txt');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#666666;"&gt;// Preparamos la recepción&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;ohttp.onreadystatechange = leerDatos;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#666666;"&gt;// Realizamos la petición&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;ohttp.send('' ");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para que esto funcione, tendremos que haber declarado la función leerDatos para tratar los datos recibidos del servidor y mostrarlos al usuario, pero esto lo veremos más adelante.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Paso de parámetros&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En la petición AJAX podemos pasar parámetros tanto por POST como por GET a nuestro servidor.Para pasar parametros por get ( por URL ) , usaremos una URL con parametros en la función open independientemente de usar el método GET o POST, por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Creamos la variable parametro&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;parametro = 'Datos pasados por GET';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Creamos el objeto&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;ohttp = AJAXCrearObjeto();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#999999;"&gt;// Preparamos la petición con parametros&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;ohttp.open('GET', 'pagina.php?parametro=' + escape(parametro));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#c0c0c0;"&gt;// Preparamos la recepción&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;ohttp.onreadystatechange = leerDatos;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#999999;"&gt;&lt;span style="font-size:85%;"&gt;// Realizamos la petición&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;ohttp.send(''");&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Para pasarlos por POST, deberemos usar el método POST en la función open y pasar los parámetros desde la función send, veamos un ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#999999;"&gt;// Creamos la variable parametro&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;parametro = 'Datos pasados por POST';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#999999;"&gt;// Creamos el objeto&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;ohttp = AJAXCrearObjeto();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Preparamos la petición con parametros&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;ohttp.open('POST','pagina.php');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Preparamos la recepción&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;ohttp.onreadystatechange = leerDatos;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#999999;"&gt;// Realizamos la petición&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#000099;"&gt;ohttp.send( 'parametro=' + escape(parametro));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Este articulo es una entrada para algo mas grande que vendra.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-2176533562920988938?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/2176533562920988938/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=2176533562920988938' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/2176533562920988938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/2176533562920988938'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/06/continuando-con-nuestro-repaso-sobre.html' title='Realizar una petición con AJAX'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-3451861683020161327</id><published>2007-06-05T18:58:00.000-07:00</published><updated>2007-06-05T19:08:05.318-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Precargas para imágenes con CSS</title><content type='html'>Este ejemplo no viene mucho al caso de ajax pero buscando encontre este que la verdad no sabia como se hacia pero siempre se aprende algo nuevo no importa si es un ejemplo antiguo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vtkeaxGsD7I/RmYWOAv30SI/AAAAAAAAAB0/eVjC1pAsNPQ/s1600-h/indicator.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_vtkeaxGsD7I/RmYWOAv30SI/AAAAAAAAAB0/eVjC1pAsNPQ/s320/indicator.gif" alt="" id="BLOGGER_PHOTO_ID_5072766460254212386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;No hay nada más fastidioso que una conexión a Internet lenta. Sobre todo cuando nuestros usuarios navegan con ella y a veces ni siquiera saben que falta cargar una imagen que quizás nos llevo tiempo editar para ese post. Pero si deseamos que nuestros usuarios logren ver todas las imágenes de nuestros post aun cuando naveguen con conexiones lentas, existe una forma muy fácil de decirles a nuestros usuarios de forma visual de que algo esta faltando cargar en nuestro post. Por ejemplo agregando una imagen visual que les hará saber que la imagen se esta cargando en el post y de esta forma acaben viendo de que trata esa imagen.&lt;br /&gt;&lt;br /&gt;Para agregar de fondo la imagen de “precarga” a nuestras imágenes solo necesitaremos esta línea muy simple de CSS que deberemos agregar nuestra hoja de estilo.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;img&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;{&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;background&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;:&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;url&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;loading.gif&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;no-repeat&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;50&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;% &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;50&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;%;&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;Bueno espero que les sirva es muy sencillo de utilizar y nada despreciable.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-3451861683020161327?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/3451861683020161327/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=3451861683020161327' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3451861683020161327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3451861683020161327'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/06/precargas-para-imgenes-con-css.html' title='Precargas para imágenes con CSS'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vtkeaxGsD7I/RmYWOAv30SI/AAAAAAAAAB0/eVjC1pAsNPQ/s72-c/indicator.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-5342048595138406688</id><published>2007-06-02T10:08:00.000-07:00</published><updated>2007-06-02T10:08:56.144-07:00</updated><title type='text'>El Golpedegato: Meneados sobre AJAX</title><content type='html'>&lt;a href="http://golpedegato.blogspot.com/2007/01/meneados-sobre-ajax.html"&gt;El Golpedegato: Meneados sobre AJAX&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-5342048595138406688?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://golpedegato.blogspot.com/2007/01/meneados-sobre-ajax.html' title='El Golpedegato: Meneados sobre AJAX'/><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/5342048595138406688/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=5342048595138406688' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/5342048595138406688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/5342048595138406688'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/06/el-golpedegato-meneados-sobre-ajax.html' title='El Golpedegato: Meneados sobre AJAX'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-5304407837036768187</id><published>2007-05-15T14:33:00.000-07:00</published><updated>2007-05-16T09:04:32.179-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Objeto XMLHttpRequest</title><content type='html'>El objeto &lt;a href="http://es.wikipedia.org/wiki/XMLHttpRequest"&gt;XMLHttpRequest &lt;/a&gt;es un elemento fundamental para la comunicación asincrónica con el servidor. Este objeto nos permite enviar y recibir información en formato XML y en general en cualquier formato .&lt;br /&gt;&lt;br /&gt;La creación de un objeto de esta clase varía si se trata del Internet Explorer de Microsoft, ya que este no lo incorpora en JavaScript si no que se trata de una ActiveX:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:85%;"&gt;if (window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;En cambio en FireFox y otros navegadores lo incorpora JavaScript y procedemos para su creación de la siguiente manera:&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;span style="font-size:85%;"&gt;if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest();&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;/div&gt;&lt;div align="left"&gt;Ahora como vimos, seria mejor trabajor este parte en una funcion que nos retorne un objeto XMLHttpRequest haciendo transparente el proceso en cuanto a navegador donde se esté ejecutando:&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;function nuevoAjax() &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;{ &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;&lt;span style="color:#999999;"&gt;/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;var xmlhttp=false; &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;try &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;{ &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;&lt;span style="color:#999999;"&gt;// Creacion del objeto AJAX para navegadores no IE&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;} &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;catch(e) &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;{ &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;try &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;{ &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;&lt;span style="color:#999999;"&gt;// Creacion del objet AJAX para IE&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;} &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;catch(E) { xmlhttp=false; } &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;} &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;if (!xmlhttp &amp;&amp;amp; typeof XMLHttpRequest!="undefined") &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;{ &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;xmlhttp=new XMLHttpRequest(); &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;} &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="font-size:85%;color:#000099;"&gt;return xmlhttp; &lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;span style="color:#000099;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;Es decir la función nuevoAjax se encargará de retornarnos un objeto de la clase XMLHttpRequest.&lt;br /&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;div align="left"&gt;Las propiedades principales del objeto &lt;span style="color:#3333ff;"&gt;&lt;a href="http://es.wikipedia.org/wiki/XMLHttpRequest"&gt;XMLHttpRequest &lt;/a&gt;&lt;/span&gt;son:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="color:#3366ff;"&gt;onreadystatechange&lt;/span&gt; Almacena el nombre de la función que se ejecutará cuando el objeto XMLHttpRequest cambie de estado.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="color:#3366ff;"&gt;readyState&lt;/span&gt; Almacena el estado del requerimiento hecho al servidor, pudiendo ser0 No inicializado (el método open no a sido llamado)&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;- 1 Cargando&lt;/span&gt; (se llamó al método open)&lt;br /&gt;- &lt;span style="color:#3366ff;"&gt;2 Cargado&lt;/span&gt; (se llamó al método send y ya tenemos la cabecera de la petición HTTP y el status)&lt;br /&gt;- &lt;span style="color:#3366ff;"&gt;3 Interactivo&lt;/span&gt; (la propiedad responseText tiene datos parciales)&lt;br /&gt;- &lt;span style="color:#3366ff;"&gt;4 Completado&lt;/span&gt; (la propiedad responseText tiene todos los datos pedidos al servidor) &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="color:#3366ff;"&gt;responseText&lt;/span&gt; Almacena el string devuelto por el servidor, luego de haber hecho una petición.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="color:#3366ff;"&gt;responseXML&lt;/span&gt; Similar a la anterior (responseText) con la diferencia que el string devuelto por el servidor se encuentra en formato XML.&lt;br /&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="left"&gt;Los métodos principales del objeto XMLHttpRequest son:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="color:#3366ff;"&gt;open&lt;/span&gt; Abre un requerimiento HTTP al servidor. &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align="left"&gt;&lt;span style="color:#3366ff;"&gt;send &lt;/span&gt;Envía el requerimiento al servidor. &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align="left"&gt;En el proximo les mostrare un ejemplo en el cual se daran cuenta de su funcionamiento.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-5304407837036768187?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/5304407837036768187/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=5304407837036768187' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/5304407837036768187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/5304407837036768187'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/05/objeto-xmlhttprequest.html' title='Objeto XMLHttpRequest'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-5646673043065506053</id><published>2007-05-06T09:01:00.000-07:00</published><updated>2007-09-09T14:21:01.084-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Efecto de reflejo en imagenes</title><content type='html'>Hace unos dias estuve googleando y me tope con algo curioso que fue el poner ese efecto de reflejo en las imagenes que hoy en dia estan siendo muy usadas en varias webs.&lt;br /&gt;&lt;br /&gt;Este script que permite agregar un &lt;a href="http://arapehlivanian.com/scripts/reflect/reflect.js"&gt;efecto de reflejo&lt;/a&gt; o espejo a nuestras imágenes. Simplemente basta indicar el atributo id de una etiqueta img.&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Podemos ver unos &lt;a href="http://arapehlivanian.com/scripts/reflect/reflect.html" target="_blank"&gt;ejemplos&lt;/a&gt; en la &lt;a href="http://arapehlivanian.com/2007/02/20/automated-vertical-flip-image-reflection/" target="_blank"&gt;blog&lt;/a&gt; del autor, como también descargar un &lt;a href="http://arapehlivanian.com/scripts/reflect.zip"&gt;ejemplo&lt;/a&gt; en el cual se maneja mas de una imagen.&lt;/p&gt;&lt;img id="BLOGGER_PHOTO_ID_5108317337894807234" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_vtkeaxGsD7I/RuRjjcUwZsI/AAAAAAAAACo/xvlUWNt6mFw/s320/diegusweb.jpg" border="0" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-5646673043065506053?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/5646673043065506053/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=5646673043065506053' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/5646673043065506053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/5646673043065506053'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/05/algo-curioso-que-encontre.html' title='Efecto de reflejo en imagenes'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vtkeaxGsD7I/RuRjjcUwZsI/AAAAAAAAACo/xvlUWNt6mFw/s72-c/diegusweb.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-1363841242875254847</id><published>2007-04-26T12:28:00.000-07:00</published><updated>2007-04-26T12:43:00.909-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><title type='text'>Tutorial AJAX: Pequeña introducción</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vtkeaxGsD7I/RjD_VBZE1GI/AAAAAAAAABE/cM0MTz_CyTs/s1600-h/ajaxg.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_vtkeaxGsD7I/RjD_VBZE1GI/AAAAAAAAABE/cM0MTz_CyTs/s320/ajaxg.jpg" alt="" id="BLOGGER_PHOTO_ID_5057823118153012322" border="0" /&gt;&lt;/a&gt;Todo el mundo, en la red no dejan de hablar de ajax la nueva tecnica en el  desarrollo web, aunque en realidad no es tan nueva que d¡gamos, los que no se  han dado cuenta si la han visto en la red les doy unos ejemplos como (Google,  fotolog, Meebo) que han apostado por usarla, haciendo que la navegación por  internet sea mas agradable&lt;br /&gt;&lt;br /&gt;Al principio al ver estos sitios que implementaron esta nueva tecnica me dio  mucha curiosidad de ver como la habian realizado que han utilizado para que tal  navegacion del usuario sea mas eficaz y agradable, luego de investigar un poco  comprendi que todo eso lo hacia &lt;strong&gt;ajax&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Ajax no es un lenguaje es mas bien una union entre varias tecnologias como  podran ver:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HTML (o &lt;a href="http://es.wikipedia.org/wiki/XHTML"&gt;XHTML&lt;/a&gt;) y Hojas de  Estilo en Cascada (CSS) para presentar la información.&lt;/li&gt;&lt;li&gt;Document Object Model (&lt;a href="http://es.wikipedia.org/wiki/DOM"&gt;DOM&lt;/a&gt;) y  JavaScript, para interactuar dinámicamente con los datos.&lt;/li&gt;&lt;li&gt;XML y &lt;a href="http://es.wikipedia.org/wiki/XSLT"&gt;XSLT&lt;/a&gt;, para intercambiar y  manipular datos de manera desincronizada con un servidor web.&lt;/li&gt;&lt;/ul&gt;En esta seccion del tutorial no tocare nada de codigo solo es una pequeña  referencia para conocer mejor en lo que nos estamos metiendo, en proximos  tutoriales hare referencia a distintos lenguajes como PHP, Mysql, JavaScript,  XHTML, CSS y un poco de XML para crear ejemplos y aplicaciones web con AJAX.&lt;br /&gt;&lt;br /&gt;Para que esten viendo un poco mas de su utilidad les recomiendo que visiten  estas web que estan desarrollads con ajax y vean como su navegacion es tan  eficaz.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.meebo.com/"&gt;Meebo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fotolog.com/"&gt;Fotolog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netvibes.com/"&gt;Netvibes&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Dentro de poco estare posteando nuevas publicaciones del tutorial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-1363841242875254847?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/1363841242875254847/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=1363841242875254847' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1363841242875254847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1363841242875254847'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/04/tutorial-ajax-pequea-introduccin_26.html' title='Tutorial AJAX: Pequeña introducción'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vtkeaxGsD7I/RjD_VBZE1GI/AAAAAAAAABE/cM0MTz_CyTs/s72-c/ajaxg.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-3619350169274362530</id><published>2007-04-18T13:10:00.000-07:00</published><updated>2007-06-11T18:07:47.024-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Humor'/><title type='text'>Algo interesante que encontre sobre el zorrito</title><content type='html'>Lo repito continuamente, nuestro querido zorrito rojo es una estufa para nuestro hogares aunque cuando vean se daran cuenta que muestran la version de firefox 1.5 tenia un poco de imperfecciones, pero ahora firefox 2.0.0.3 es una maravilla veanla les va a gustar.&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SC5uWLPetMs"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/SC5uWLPetMs" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-3619350169274362530?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/3619350169274362530/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=3619350169274362530' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3619350169274362530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/3619350169274362530'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/04/algo-interezante-que-encontre-sobre-el.html' title='Algo interesante que encontre sobre el zorrito'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7721310404590096631.post-1482597428508968035</id><published>2007-04-16T14:51:00.000-07:00</published><updated>2007-04-21T09:05:53.919-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='diseño web'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Haciendo una Web Accesible: el uso adecuado de los colores</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_vtkeaxGsD7I/RiPwZYy1DuI/AAAAAAAAAAw/leuQG57-y0s/s1600-h/fondo.jpg"&gt;&lt;/a&gt;Siempre es bueno asegurarse que el primer plano y las combinaciones del color de fondo proporcionen suficiente contraste cuando sea visto por alguien con deficiencia visual o para visualizarlas con pantallas monocromáticas; estableciendo conformidad con el &lt;a href="http://www.w3.org/TR/WCAG10/wai-pageauth.html#gl-color"&gt;Punto de Verificación 2.2&lt;/a&gt; de las Pautas de Accesibilidad al Contenido en la Web 1.0&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Se considera que dos colores ofrecen buena visibilidad de color si la diferencia en brillo y la diferencia en color entre ambos es mayor que un intervalo dado. &lt;/p&gt;&lt;p&gt;El proceso para definir el nivel de "visibilidad del color" se basa en los &lt;a href="http://www.w3.org/TR/AERT#color-contrast"&gt;algoritmos&lt;/a&gt; que sugiere el &lt;a href="http://www.w3.org/"&gt;Consorcio de la World Wide Web (W3C)&lt;/a&gt;. El intervalo que sugiere es &gt; 125 para el brillo de color y &gt; 500 para la diferencia de color. &lt;/p&gt;&lt;p&gt;El brillo de color se determina por medio de la siguiente fórmula: &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;form id="form1" name="form1" action="" method="post"&gt;&lt;label&gt;&lt;textarea style="WIDTH: 408px; HEIGHT: 36px" name="textarea" cols="49"&gt;((valor de Rojo * 299) + (valor de Verde * 587) + (valor de Azul * 114)) / 1000 &lt;/textarea&gt; &lt;/label&gt;&lt;/form&gt;&lt;br /&gt;La diferencia entre el brillo de fondo y el brillo de primer plano debería ser mayor a 125. La diferencia de color se determina por medio de la siguiente fórmula:&lt;br /&gt;&lt;br /&gt;&lt;form id="form1" name="form1" action="" method="post"&gt;&lt;p&gt;&lt;label&gt;&lt;form id="form1" name="form1" method="post" action=""&gt;&lt;/label&gt;&lt;form id="form1" name="form1" method="post" action=""&gt;&lt;label&gt;&lt;textarea style="WIDTH: 411px; HEIGHT: 84px" name="textarea" rows="5" cols="49"&gt;(máximo (valor Rojo 1, valor Verde 2) - mínimo (valor Rojo 1, valor Rojo 2)) + (máximo (valor Verde 1, valor Verde 2) - mínimo (valor Verde 1, valor Verde 2)) + (máximo (valor Azul 1, valor Azul 2) - mínimo (valor Azul 1, valor Azul 2))   &lt;/textarea&gt; &lt;/label&gt;&lt;/form&gt;&lt;/p&gt;&lt;p&gt;&lt;label&gt;&lt;label&gt;La diferencia entre el color de fondo y el color de primer plano debería ser mayor que 500. &lt;/label&gt;&lt;/label&gt;&lt;/p&gt;&lt;p&gt;&lt;label&gt;&lt;label&gt;Veamos un ejemplo: &lt;/label&gt;&lt;/label&gt;&lt;/p&gt;&lt;p&gt;&lt;label&gt;&lt;label&gt;Color de primer plano: &lt;/label&gt;&lt;/label&gt;&lt;/p&gt;&lt;p&gt;&lt;label&gt;&lt;label&gt;&lt;/label&gt;&lt;/p&gt;&lt;/label&gt;&lt;label&gt;&lt;p&gt;&lt;/form&gt;&lt;/label&gt;&lt;/p&gt;&lt;/form&gt;&lt;form id="form1" name="form1" action="" method="post"&gt;&lt;label&gt;&lt;textarea style="WIDTH: 420px; HEIGHT: 68px" name="textarea" rows="4" cols="50"&gt;(hex.) #80FF80 (RGB.) 128, 255, 128 &lt;/textarea&gt; &lt;/label&gt;&lt;/form&gt;&lt;p&gt;Color de fondo: &lt;/p&gt;&lt;p&gt;&lt;form id="form1" name="form1" action="" method="post"&gt;&lt;label&gt;&lt;textarea style="WIDTH: 419px; HEIGHT: 68px" name="textarea" rows="4" cols="50"&gt;(hex.) #000000 (RGB.) 0, 0, 0 &lt;/textarea&gt; &lt;/label&gt;&lt;/form&gt;&lt;/p&gt;&lt;p&gt;Fórmula de Brillo de Color: &lt;/p&gt;&lt;p&gt;&lt;form id="form1" name="form1" action="" method="post"&gt;&lt;label&gt;&lt;textarea style="WIDTH: 422px; HEIGHT: 36px" name="textarea" cols="50"&gt;(128 * 299) + (255 * 587) + (128 * 114) / 1000 = 202 &lt;/textarea&gt; &lt;/label&gt;&lt;/form&gt;&lt;/p&gt;&lt;p&gt;La diferencia en brillo entre los dos colores es suficiente. El límite es 125, y el resultado para los colores de fondo y primer plano es 202. &lt;/p&gt;&lt;p&gt;Fórmula de Diferencia de Color: &lt;/p&gt;&lt;p&gt;&lt;form id="form1" name="form1" action="" method="post"&gt;&lt;label&gt;&lt;textarea style="WIDTH: 420px; HEIGHT: 36px" name="textarea" cols="50"&gt;128 - 0 + 255 - 0 + 128 - 0 = 511 &lt;/textarea&gt; &lt;/label&gt;&lt;/form&gt;&lt;/p&gt;&lt;p&gt;La diferencia en color entre los dos colores es suficiente. El límite es 500, y el resultado para los colores de fondo y primer plano es 511. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7721310404590096631-1482597428508968035?l=diegusweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://diegusweb.blogspot.com/feeds/1482597428508968035/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7721310404590096631&amp;postID=1482597428508968035' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1482597428508968035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7721310404590096631/posts/default/1482597428508968035'/><link rel='alternate' type='text/html' href='http://diegusweb.blogspot.com/2007/04/haciendo-una-web-accesible-el-uso.html' title='Haciendo una Web Accesible: el uso adecuado de los colores'/><author><name>Diego Rueda</name><uri>http://www.blogger.com/profile/15656651354624580667</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='29' src='http://usuarios.lycos.es/diegusweb/blog_notocar/diego-rueda.jpg'/></author><thr:total>1</thr:total></entry></feed>
