<?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>Linux Hispano &#187; javascript</title> <atom:link href="http://www.linuxhispano.net/etiqueta/javascript/feed/" rel="self" type="application/rss+xml" /><link>http://www.linuxhispano.net</link> <description>Noticias, tira, podcast, juegos, Linux y software libre</description> <lastBuildDate>Fri, 10 Feb 2012 14:00:58 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Configurar AdSense (anuncios) y Analytics (estadísticas) en WPTouch</title><link>http://www.linuxhispano.net/2011/11/17/configurar-adsense-anuncios-y-analytics-estadisticas-en-wptouch/</link> <comments>http://www.linuxhispano.net/2011/11/17/configurar-adsense-anuncios-y-analytics-estadisticas-en-wptouch/#comments</comments> <pubDate>Thu, 17 Nov 2011 14:30:28 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[adsense]]></category> <category><![CDATA[analytics]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[móvil]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[php]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wptouch]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=7870</guid> <description><![CDATA[Una vez hemos instalado y configurado correctamente WPtouch, tal como vimos ayer, vamos a proceder configuraciones adicionales para que el portal se quede completamente funcional, también en su versión móvil. Integrar estadísticas con Google Analytics Las estadísticas son algo básico &#8230; <a
href="http://www.linuxhispano.net/2011/11/17/configurar-adsense-anuncios-y-analytics-estadisticas-en-wptouch/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Una vez hemos <a
href="http://www.linuxhispano.net/2011/11/16/crea-automaticamente-una-version-movil-para-tu-blog-con-wptouch/" target="_blank">instalado y configurado correctamente WPtouch</a>, tal como vimos ayer, vamos a proceder configuraciones adicionales para que el portal se quede completamente funcional, también en su versión móvil.</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/11/configuracion_wptouch2.png"><img
class="aligncenter size-full wp-image-8387" title="configuracion_wptouch" src="http://www.linuxhispano.net/wp-content/uploads/2011/11/configuracion_wptouch2.png" alt="Configuración WPtouch con Google AdSense y Google Analytics" width="650" height="181" /></a></p><p><strong>Integrar estadísticas con Google Analytics</strong></p><p>Las estadísticas son algo básico para un blogger, así que si usáis <a
href="http://www.linuxhispano.net/2011/01/18/incluir-google-analytics-en-wordpress/" target="_blank">Google Analytics</a> os interesará esta parte. Dentro de la configuración hay una parte que lo especifica: &#8220;AdSense, estadísticas y código a medida&#8221;, sin embargo, no es trivial la configuración.</p><p>Dentro de esa parte tenemos un <em>textarea</em> para rellenar con título: &#8220;Estadísticas y código a medida&#8221;. Deberemos introducir el siguiente código JavaScript, modificando sólo nuestro identificador de cliente de <a
href="http://www.linuxhispano.net/2011/01/18/incluir-google-analytics-en-wordpress/" target="_blank">Google Analytics</a> (es una cadena de la siguiente forma: &#8220;UA-XXXXXX-X). Veamos:</p><p><span
id="more-7870"></span></p><blockquote><p>&lt;script type=&#8221;text/javascript&#8221;&gt;</p><p>var _gaq = _gaq || [];<br
/> _gaq.push(['_setAccount', 'UA-EL_TUYO-X']);<br
/> _gaq.push(['_trackPageview']);</p><p>(function() {<br
/> var ga = document.createElement(&#8216;script&#8217;); ga.type = &#8216;text/javascript&#8217;; ga.async = true;<br
/> ga.src = (&#8216;https:&#8217; == document.location.protocol ? &#8216;https://ssl&#8217; : &#8216;http://www&#8217;) + &#8216;.google-analytics.com/ga.js&#8217;;<br
/> var s = document.getElementsByTagName(&#8216;script&#8217;)[0]; s.parentNode.insertBefore(ga, s);<br
/> })();</p><p>&lt;/script&gt;</p></blockquote><p>Una vez hecho esto guardamos y nuestro blog móvil también contará en la visitas de Analytics.</p><p><strong>Integrar publicidad con Google AdSense</strong></p><p>Los canales convencionales de publicidad para <a
href="http://www.linuxhispano.net/etiqueta/adsense/" target="_blank">AdSense</a> no tienen el formato apropiado para la web móvil. Por lo tanto, deberemos comenzar creando un canal para móviles en nuestra cuenta de <a
href="http://www.linuxhispano.net/etiqueta/adsense/" target="_blank">AdSense</a>.</p><p>Para ello inicias sesión en la plataforma de anuncios de Google y dentro de ella te diriges a:</p><ol><li>Mis anuncios</li><li>Contenido para móviles</li><li>Criterios de seguimiento personalizados</li></ol><p>Una vez creado el criterio de seguimiento, dentro de &#8220;Contenido para móviles&#8221;, elegimos &#8220;Bloques de anuncios&#8221; y creamos un anuncio a nuestro gusto. Guardamos y obtenemos el código.</p><p>Con este código, el criterio que acabamos de crear y nuestra identidad de AdSense, tenemos ya todo listo. Rellenamos nuestra identidad y nuestro canal dentro de los campos preparados para ello en la configuración de WPtouch:</p><ul><li>Identidad de Google AdSense</li><li>Canal de Google AdSense</li></ul><p>Y el código lo incluimos en el mismo <em>textarea</em> en el que hemos introducido el código de Analytics, incluyendo algún salto de línea entre ellos.</p><p>Con ésto estará todo listo.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/11/17/configurar-adsense-anuncios-y-analytics-estadisticas-en-wptouch/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Karoshi en HTML y Javascript</title><link>http://www.linuxhispano.net/2011/10/26/karoshi-en-html-javascrip/</link> <comments>http://www.linuxhispano.net/2011/10/26/karoshi-en-html-javascrip/#comments</comments> <pubDate>Wed, 26 Oct 2011 15:16:07 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Juegos]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[Karoshi]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=8037</guid> <description><![CDATA[Cada vez más los juegos se están pasando de Flash a la tecnología HTML y Javascript. Ya publiqué en su momento juegos como Biolab Disaster o un juego propio, como Milokoban. El juego que presento hoy es Karoshi HTML5, donde &#8230; <a
href="http://www.linuxhispano.net/2011/10/26/karoshi-en-html-javascrip/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a
target="_blank" href="http://html5.yoyogames.com/karoshi_lite/karoshi_index.html"><img
src="http://www.linuxhispano.net/wp-content/uploads/2011/10/karoshi-1.jpg" alt="" title="Karoshi en HTML5" width="650" height="350" class="aligncenter size-full wp-image-8039" /></a></p><p>Cada vez más los juegos se están pasando de Flash a la tecnología HTML y Javascript. Ya publiqué en su momento juegos como <a
href="http://www.linuxhispano.net/2011/06/14/biolab-disaster-adictivo-plataformas-en-html5/">Biolab Disaster</a> o un juego propio, como <a
href="http://www.linuxhispano.net/2011/06/16/milokoban-juega-y-descarga-su-codigo-fuente/">Milokoban</a>.</p><p>El juego que presento hoy es <a
target="_blank" href="http://html5.yoyogames.com/karoshi_lite/karoshi_index.html">Karoshi HTML5</a>, donde el objetivo del juego es suicidarse en vez de sobrevivir. El juego está desarrollado con la herramienta <a
target="_blank" href="http://www.yoyogames.com/gamemaker/html5">Game Maker HTML5</a>, si bien no es libre sí que permite desarrollar juegos con la tecnología HTML y Javascript.</p><p>Enlace: <a
target="_blank" href="http://html5.yoyogames.com/karoshi_lite/karoshi_index.html">Karoshi HTML5</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/10/26/karoshi-en-html-javascrip/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Combina y comprime todos los ficheros CSS y JS para optimizar WordPress con WP Minify</title><link>http://www.linuxhispano.net/2011/10/25/combina-y-comprime-todos-los-ficheros-css-y-js-para-optimizar-wordpress-con-wp-minify/</link> <comments>http://www.linuxhispano.net/2011/10/25/combina-y-comprime-todos-los-ficheros-css-y-js-para-optimizar-wordpress-con-wp-minify/#comments</comments> <pubDate>Tue, 25 Oct 2011 15:30:16 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[combinar]]></category> <category><![CDATA[comprimir]]></category> <category><![CDATA[css]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[js]]></category> <category><![CDATA[minify]]></category> <category><![CDATA[rendimiento]]></category> <category><![CDATA[velocidad]]></category> <category><![CDATA[wordpress]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=8028</guid> <description><![CDATA[Cada vez que accedemos a una web, independientemente del CMS que usemos (como si no usamos ninguno), el navegador empieza la descarga del sitio en HTML y todo lo que trae consigo (principalmente imágenes, hojas de estilo y ficheros de &#8230; <a
href="http://www.linuxhispano.net/2011/10/25/combina-y-comprime-todos-los-ficheros-css-y-js-para-optimizar-wordpress-con-wp-minify/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Cada vez que accedemos a una web, independientemente del <a
target="_blank" href="http://es.wikipedia.org/wiki/CMS" target="_blank">CMS</a> que usemos (como si no usamos ninguno), el navegador empieza la descarga del sitio en <a
target="_blank" href="http://es.wikipedia.org/wiki/HTML" target="_blank">HTML</a> y todo lo que trae consigo (principalmente imágenes, hojas de estilo y ficheros de script del lado del cliente como <a
target="_blank" href="http://es.wikipedia.org/wiki/JavaScript" target="_blank">JavaScript</a>) mediante protocolo <a
target="_blank" href="http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol" target="_blank">HTTP</a>.</p><p>¿Qué problema tiene <a
target="_blank" href="http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol" target="_blank">HTTP</a>? Para cada petición de este tipo, abre y cierra la conexión. ¿Eso qué conlleva? Un aumento del tiempo de transferencia.</p><p>Como se puede observar, el problema en parte es abordable ya que aunque no podemos (por ahora) reunir todas las imágenes en una sola transmisión, sí que es cierto que podemos hacer que si tenemos 4 ficheros de hojas de estilo <a
target="_blank" href="http://es.wikipedia.org/wiki/Hojas_de_estilo_en_cascada" target="_blank">CSS</a> y 10 ficheros <a
target="_blank" href="http://es.wikipedia.org/wiki/JavaScript" target="_blank">JavaScript</a> que cargar; podemos limitarnos a enviar un sólo fichero de cada tipo al navegador. El resultado no cambia y aceleramos el proceso.</p><p>Si usamos <a
target="_blank" href="http://wordpress.org/" target="_blank">WordPress</a>, podemos instalar <a
target="_blank" href="http://wordpress.org/extend/plugins/wp-minify/" target="_blank">WP Minify</a> para que automatice este proceso por nosotros y nos olvidemos, junto con otra mejora, comprime ambos ficheros resultantes lo que lleva a una mejora mayor aún de la ya comentada.</p><p>Podéis ver el efecto de usarlo en las capturas siguientes:</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/10/fiddler_before.png"><img
class="aligncenter size-full wp-image-8029" title="fiddler_before" src="http://www.linuxhispano.net/wp-content/uploads/2011/10/fiddler_before.png" alt="WP Minify antes y después" width="447" height="139" /></a></p><p><span
id="more-8028"></span></p><p>Casi 100.000 bytes recibidos, tras usar <a
target="_blank" href="http://wordpress.org/extend/plugins/wp-minify/" target="_blank">WP Minify</a> tenemos:</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/10/fiddler_after.png"><img
class="aligncenter size-full wp-image-8031" title="fiddler_after" src="http://www.linuxhispano.net/wp-content/uploads/2011/10/fiddler_after.png" alt="WP Minify tras instalar" width="480" height="54" /></a></p><p>Menos de 30.000, ¿muy útil verdad? Veamos cómo instalarlo. Nos dirigimos a:</p><ul><li>Escritorio</li><li>Plugins</li><li>Añadir nuevo</li><li>Buscamos &#8220;WP Minify&#8221;</li><li>Instalar ahora</li></ul><p>Una vez instalado lo activamos pero antes de eso nos aseguramos de que el servidor web tiene permisos de escritura en:</p><ul><li>/wp-content/plugins/wp-minify/cache</li><li>/wp-content/plugins/wp-minify/min/config.php</li></ul><p>Con sólo eso veremos el rendimiento de nuestro sitio optimizado de forma automática sin esfuerzo de nuestra parte.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/10/25/combina-y-comprime-todos-los-ficheros-css-y-js-para-optimizar-wordpress-con-wp-minify/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Imprimir una página web con Javascript</title><link>http://www.linuxhispano.net/2011/10/10/imprimir-una-pagina-web-con-javascript/</link> <comments>http://www.linuxhispano.net/2011/10/10/imprimir-una-pagina-web-con-javascript/#comments</comments> <pubDate>Mon, 10 Oct 2011 13:03:59 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[Imprimir]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[web]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=7829</guid> <description><![CDATA[Si estás programando con los estándares HTML, CSS y Javascript y necesitas que desde Javascript se imprima una página web, con la función window.print() podrás hacerlo. Ejemplo Código fuente del ejemplo &#60;!doctype html&#62; &#60;html&#62; &#160;&#160;&#60;head&#62; &#160;&#160;&#160;&#160;&#60;title&#62;Ejemplo para imprimir una web&#60;/title&#62; &#8230; <a
href="http://www.linuxhispano.net/2011/10/10/imprimir-una-pagina-web-con-javascript/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Si estás programando con los estándares HTML, CSS y Javascript y necesitas que desde Javascript se imprima una página web, con la función <strong>window.print()</strong> podrás hacerlo.</p><p><b>Ejemplo</b></p> <input
type="button" value="Imprime esta web" onclick="window.print()" /><p><b>Código fuente del ejemplo</b></p><div
style="background-color: #eee; color: #222; font-family: consolas, menlo, liberation mono, monospace; text-align: left;"> &lt;!doctype html&gt;</p><p>&lt;html&gt;</p><p>&#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;Ejemplo para imprimir una web&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;<br
/> &#160;&#160;&lt;/head&gt;</p><p>&#160;&#160;&lt;body&gt;<br
/> &lt;input type=&quot;button&quot; value=&quot;Imprimir&quot; onclick=&quot;window.print()&quot; /&gt;<br
/> &#160;&#160;&lt;/body&gt;</p><p>&lt;/html&gt;</p></div> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/10/10/imprimir-una-pagina-web-con-javascript/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>&#8220;f.easing e.animatedproperties this.prop is not a function&#8221; arreglado</title><link>http://www.linuxhispano.net/2011/09/30/f-easing-e-animatedproperties-this-prop-is-not-a-function-arreglado/</link> <comments>http://www.linuxhispano.net/2011/09/30/f-easing-e-animatedproperties-this-prop-is-not-a-function-arreglado/#comments</comments> <pubDate>Fri, 30 Sep 2011 14:00:28 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[buddypress]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[problema]]></category> <category><![CDATA[red de autores]]></category> <category><![CDATA[social]]></category> <category><![CDATA[wordpress]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=7655</guid> <description><![CDATA[Hace no mucho, Alberto Hornero y yo, comenzamos un proyecto nuevo junto con otro amigo, Antonio Sánchez, llamado Red de Autores. La idea básica era crear una red de blogs gratuitos, sobre los que añadir un componente social. El proyecto &#8230; <a
href="http://www.linuxhispano.net/2011/09/30/f-easing-e-animatedproperties-this-prop-is-not-a-function-arreglado/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Hace no mucho, <a
target="_blank" href="http://www.reddeautores.com/autor/ahornero/" target="_blank">Alberto Hornero</a> y <a
target="_blank" href="http://www.reddeautores.com/autor/carazo/" target="_blank">yo</a>, comenzamos un proyecto nuevo junto con otro amigo, <a
target="_blank" href="http://www.reddeautores.com/autor/asanchez/" target="_blank">Antonio Sánchez</a>, llamado <a
target="_blank" href="http://www.reddeautores.com/" target="_blank">Red de Autores</a>. La idea básica era crear una red de blogs gratuitos, sobre los que añadir un componente social. El proyecto es bastante joven, pero por ahora no podemos quejarnos de la aceptación.</p><p><a
target="_blank" href="http://www.reddeautores.com"><img
class="aligncenter size-full wp-image-7709" title="Red de Autores" src="http://www.linuxhispano.net/wp-content/uploads/2011/09/header.png" alt="Logo Red de Autores" width="499" height="72" /></a></p><p>El componente social lo pone <a
target="_blank" href="http://buddypress.org/" target="_blank">BuddyPress</a>, uno de los <em>plugins</em> más radicales que he conocido para WordPress, ya que introduce gran cantidad de características y básicamente permite hacer una pequeña red social en el sitio.</p><p>Adaptamos un tema, montamos todo y como normalmente ocurre con WordPress, todo perfecto sin tener que adentrarnos demasiado en el código, ni tener que dedicarle más tiempo del estrictamente necesario.</p><p>Sin embargo, cuando actualizamos a WordPress 3.2.1 comenzó a surgir un problema, había elementos que no se estiraban y aparte de los defectos estéticos, la consola de JavaScript se quedaba tan bloqueada, que acciones tan necesarias como comunes (por ejemplo subir una imagen) no podían efectuarse fácilmente.</p><p><span
id="more-7655"></span></p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/09/buddypress.gif"><img
class="aligncenter size-full wp-image-7710" title="buddypress" src="http://www.linuxhispano.net/wp-content/uploads/2011/09/buddypress.gif" alt="Logo BuddyPress" width="287" height="66" /></a></p><p>Me puse a investigar y el error que me aparecía en la consola de JavaScript era algo así como: <strong>f.easing e.animatedproperties this.prop is not a function</strong> (con algunos corchetes y paréntesis de por medio). En Google no había suficiente documentación, o al menos, con la presente no era capaz de llegar a resolver el problema de manera inmediata.</p><p>Sólo pude llegar a deducir dos cosas y a raíz de ahí pude completar la solución:</p><ol><li>Había una incompatibilidad por la llamada a una serie de funciones que habían cambiado de nombre en una versión reciente del plugin de jQuery: <a
target="_blank" href="http://gsgd.co.uk/sandbox/jquery/easing/" target="_blank">jQuery Easing</a>.</li><li>Esta incompatibilidad se manifestaba en alguna llamada al <em>plugin</em>.</li></ol><p>Veamos cómo he procedido para solucionar el problema. Aunque existe un fichero para evitar esto mismo, <a
target="_blank" href="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.compatibility.js" target="_blank">de compatibilidad con versiones anteriores</a> (que por cierto acabo de ver y que en su momento no conocía) lo que hice fue lo siguiente.</p><p><strong>Modificar llamadas</strong></p><p>Las llamadas a funciones antiguas las cambié por su equivalentes en la nueva versión del <em>plugin </em>jQuery:</p><ul><li><em>easeIn</em> por <em>easeInQuad</em></li><li><em>easeOut</em> por <em>easeOutQuad</em></li><li><em>easeInOut</em> por<em> easeInOutQuad</em></li></ul><p>Tenéis <a
target="_blank" href="http://gsgd.co.uk/sandbox/jquery/easing/jquery.easing.compatibility.js" target="_blank">una lista completa de modificaciones de llamadas</a> en el fichero de compatibilidad (por si preferís no usarlo y directamente tratar con las nuevas funciones).</p><p>Una vez modificado ésto, el problema seguía existiendo y es que en el fichero <em>global.js</em> de mi tema, estaba integrado el <em>plugin</em> antiguo (o algunas líneas de éste con las funciones que usaba) y había un problema de nombres de funciones y llamadas.</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/09/JQuery_logo_color_onwhite-300x74.png"><img
class="aligncenter size-full wp-image-7711" title="JQuery logo" src="http://www.linuxhispano.net/wp-content/uploads/2011/09/JQuery_logo_color_onwhite-300x74.png" alt="Logo de jQuery" width="300" height="74" /></a></p><p><strong>Eliminar rastros</strong></p><p>Busque la línea y la suprimí, de hecho, para evitar más problemas, quité el fichero propio del plugin e integré su contenido en mi fichero global.js.</p><p>Todo esto que os comento se habría solucionado con el fichero de compatibilidad que acabo de encontrar, pero no deja de ser un ejemplo de cómo, una pobre planificación inicial en un desarrollo (el del complemento de jQuery) hace que luego surjan quebraderos de cabeza variados. Tened en cuenta que el error lo da una función que a priori no tiene nada que ver con eso y que por las características propias de JavaScript, es verdaderamente complicado ver código de jQuery o sus <em>plugins</em> en versión de producción, que no de desarrollo.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/09/30/f-easing-e-animatedproperties-this-prop-is-not-a-function-arreglado/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Insertar código Javascript en una página web</title><link>http://www.linuxhispano.net/2011/09/26/insertar-codigo-javascript-en-una-pagina-web/</link> <comments>http://www.linuxhispano.net/2011/09/26/insertar-codigo-javascript-en-una-pagina-web/#comments</comments> <pubDate>Mon, 26 Sep 2011 11:59:19 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[codigo]]></category> <category><![CDATA[insertar]]></category> <category><![CDATA[javascript]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=7636</guid> <description><![CDATA[Existen distintos modos de incluir lenguaje Javascript en una página web. La forma más frecuente de hacerlo es utilizando la etiqueta &#60;script type=&#34;text/javascript&#34;&#62; en un archivo HTML. El formato es el siguiente: &#60;!doctype html&#62; &#60;html&#62; &#160;&#160;&#60;head&#62; &#160;&#160;&#160;&#160;&#60;title&#62;A blank HTML page&#60;/title&#62; &#8230; <a
href="http://www.linuxhispano.net/2011/09/26/insertar-codigo-javascript-en-una-pagina-web/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Existen distintos modos de incluir lenguaje Javascript en una página web. La forma más frecuente de hacerlo es utilizando la etiqueta <strong>&lt;script type=&quot;text/javascript&quot;&gt;</strong> en un archivo HTML. El formato es el siguiente:</p><div
style="background-color: #eee; color: #222; font-family: consolas, menlo, liberation mono, monospace; text-align: left;"> &lt;!doctype html&gt;</p><p>&lt;html&gt;</p><p>&#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;A blank HTML page&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;</p><p>&#160;&#160;&#160;&#160;&lt;script type=&quot;text/javascript&quot;&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;// Aquí insertaremos el código Javascript.</p><p>&#160;&#160;&#160;&#160;&lt;/script&gt;</p><p>&#160;&#160;&lt;/head&gt;</p><p>&#160;&#160;&lt;body&gt;</p><p>&#160;&#160;&lt;/body&gt;</p><p>&lt;/html&gt;</p></div><p>Se pueden incluir tantas etiquetas <strong>script</strong> como se quiera en un documento. Otra manera de utilizar Javascript es mediante el atributo <strong>src</strong> de la etiqueta <em>script</em>. Este atributo se utiliza para incluir un archivo externo que contiene Javascript y que quiere incluirse en el código HTML. El archivo externo simplemente es un archivo del texto que contiene código JavaScript, y cuyo nombre acaba con la extensión <strong>js</strong>:</p><div
style="background-color: #eee; color: #222; font-family: consolas, menlo, liberation mono, monospace; text-align: left;"> &lt;!doctype html&gt;</p><p>&lt;html&gt;</p><p>&#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;A blank HTML page&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;</p><p>&#160;&#160;&#160;&#160;&lt;script type=&quot;text/javascript&quot; src=&quot;archivo.js&quot;&gt;&lt;/script&gt;<br
/> &#160;&#160;&lt;/head&gt;</p><p>&#160;&#160;&lt;body&gt;</p><p>&#160;&#160;&lt;/body&gt;</p><p>&lt;/html&gt;</p></div><p>Y por último, puede incluirse también código Javascript como respuesta a algún evento. Aquí se muestra un ejemplo en el que el usuario cuando pulsa el botón <strong>Clic</strong> le aparece un mensaje que le dice que acaba de pulsar ese mismo botón:</p><div
style="background-color: #eee; color: #222; font-family: consolas, menlo, liberation mono, monospace; text-align: left;"> &lt;!doctype html&gt;</p><p>&lt;html&gt;</p><p>&#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;A blank HTML page&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;<br
/> &#160;&#160;&lt;/head&gt;</p><p>&#160;&#160;&lt;body&gt;<br
/> &#160;&#160;&lt;input type=&quot;submit&quot; onclick=&quot;alert(&#39;Acabas de hacer clic&#39;);return false;&quot; value=&quot;Clic&quot;&gt;<br
/> &#160;&#160;&lt;/body&gt;</p><p>&lt;/html&gt;</p></div> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/09/26/insertar-codigo-javascript-en-una-pagina-web/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Impact JS, un motor de Javascript para hacer videojuegos</title><link>http://www.linuxhispano.net/2011/09/18/impact-js-un-motor-de-javascript-para-hacer-videojuegos/</link> <comments>http://www.linuxhispano.net/2011/09/18/impact-js-un-motor-de-javascript-para-hacer-videojuegos/#comments</comments> <pubDate>Sun, 18 Sep 2011 15:31:01 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Noticias]]></category> <category><![CDATA[canvas]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[js]]></category> <category><![CDATA[motor]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=7541</guid> <description><![CDATA[Cuando di a conocer el videojuego Biolab Disaster, se me olvidó hacer referencia al motor de JavaScript con el que estaba hecho: Impact JS. En su momento probé el motor e hice algunas pruebas y me gustó mucho, es por &#8230; <a
href="http://www.linuxhispano.net/2011/09/18/impact-js-un-motor-de-javascript-para-hacer-videojuegos/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a
href="http://www.linuxhispano.net/2011/09/18/impact-js-un-motor-de-javascript-para-hacer-videojuegos/impactjs/" rel="attachment wp-att-7542"><img
src="http://www.linuxhispano.net/wp-content/uploads/2011/09/impactjs.png" alt="" title="impactjs" width="286" height="95" class="aligncenter size-full wp-image-7542" /></a></p><p>Cuando di a conocer el videojuego <a
target="_blank" href="http://www.linuxhispano.net/2011/06/14/biolab-disaster-adictivo-plataformas-en-html5/">Biolab Disaster</a>, se me olvidó hacer referencia al motor de JavaScript con el que estaba hecho: <a
href="http://impactjs.com/">Impact JS</a>. En su momento probé el motor e hice algunas pruebas y me gustó mucho, es por eso que me gustaría que lo conocieráis.</p><p>Impact JS es un motor de JavaScript específico para crear videojuegos. Usando la API de este motor te despreocuparás del navegador que vaya a funcionar, ya que está preparado para que ande en todos los navegadores, incluso en los de los móviles. Además cuenta con un editor de niveles y un depurador para que el desarrollo de tu videojuego sea mucho más fácil y sencillo.</p><p>La licencia que tenía, en un principio, era libre, aunque no gratis, para modificar y distribuir, pero ahora se está cerrando un poco más. Espero que con el tiempo, <a
target="_blank" href="http://www.phoboslab.org/">Dominic Szablewski</a>, el autor, lo libere por completo tal como insinuó, estaremos al tanto.</p><p>Además de <a
target="_blank" href="http://www.linuxhispano.net/2011/06/14/biolab-disaster-adictivo-plataformas-en-html5/">Biolab Disaster</a>, hay otros videojuegos creados con este motor como <a
href="http://www.phoboslab.org/ztype/">Z-Type</a> o <a
target="_blank" href="http://www.hiive.com/cc/">Creatures and Castles</a>.</p><p>Página oficial: <a
target="_blank" href="http://impactjs.com/">Impact JS</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/09/18/impact-js-un-motor-de-javascript-para-hacer-videojuegos/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Manejar tiempos con &#8216;setTimeout&#8217; en Javascript</title><link>http://www.linuxhispano.net/2011/07/06/manejar-tiempos-con-settimeout-javascript/</link> <comments>http://www.linuxhispano.net/2011/07/06/manejar-tiempos-con-settimeout-javascript/#comments</comments> <pubDate>Wed, 06 Jul 2011 09:14:37 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[ejemplo]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[settimeout]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6827</guid> <description><![CDATA[Cuando necesitas interactuar con el usuario resulta fundamental manejar el tiempo para que ocurran determinados eventos. En Javascript hay varias funciones para administrar los tiempos y una de ellas es setTimeout. Esta función, cuando se ejecuta, espera una cantidad de &#8230; <a
href="http://www.linuxhispano.net/2011/07/06/manejar-tiempos-con-settimeout-javascript/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Cuando necesitas interactuar con el usuario resulta fundamental manejar el tiempo para que ocurran determinados eventos. En Javascript hay varias funciones para administrar los tiempos y una de ellas es <b>setTimeout</b>.</p><p>Esta función, cuando se ejecuta, espera una cantidad de milisegundos hasta que llama otra función. Aquí os dejo un ejemplo con su código para clarificarlo.</p><p><b>Ejemplo</b></p><p><script type="text/javascript">function tiempo()
{
var t=setTimeout("mensaje()",3000);
}
function mensaje()
{
alert("¡Hola!");
}</script></p> <input
type="button" value="Mostrar mensaje a los 3 segundos" onClick="tiempo()" /><p><b>Código fuente del ejemplo</b></p><div
style="background-color: rgb(238, 238, 238); color: rgb(34, 34, 34); font-family: consolas,menlo,liberation mono,monospace; text-align: left;"> &lt;!doctype html&gt;</p><p>&lt;html&gt;</p><p>&#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;Ejemplo con SetTimeout&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;<br
/> &#160;&#160;&#160;&#160;&lt;script type=&quot;text/javascript&quot;&gt;<br
/> &#160;&#160;&#160;&#160;&#160;&#160;function tiempo()<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var t=setTimeout(&quot;mensaje()&quot;,3000);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;function mensaje()<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;alert(&quot;¡Hola!&quot;);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&lt;/script&gt;<br
/> &#160;&#160;&lt;/head&gt;</p><p>&#160;&#160;&lt;body&gt;<br
/> &#160;&#160;&#160;&#160;&lt;input type=&quot;button&quot; value=&quot;Mensaje a los 3 s.&quot; onClick=&quot;tiempo()&quot; /&gt;<br
/> &#160;&#160;&lt;/body&gt;</p><p>&lt;/html&gt;</p></div> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/07/06/manejar-tiempos-con-settimeout-javascript/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Milokoban, juega y descarga su código fuente</title><link>http://www.linuxhispano.net/2011/06/16/milokoban-juega-y-descarga-su-codigo-fuente/</link> <comments>http://www.linuxhispano.net/2011/06/16/milokoban-juega-y-descarga-su-codigo-fuente/#comments</comments> <pubDate>Thu, 16 Jun 2011 00:10:06 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Juegos]]></category> <category><![CDATA[codigo fuente]]></category> <category><![CDATA[gpl]]></category> <category><![CDATA[gratis]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[juego]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6581</guid> <description><![CDATA[Últimamente llevo insistiendo en la temática de HTML y Javascript. No es para menos, me parecen tecnologías con mucho futuro a pesar de que el lenguaje Javascript tenga mucho que mejorar. Debido a mi afán de estas tecnologías, aquí os &#8230; <a
href="http://www.linuxhispano.net/2011/06/16/milokoban-juega-y-descarga-su-codigo-fuente/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Últimamente llevo insistiendo en la temática de HTML y Javascript. No es para menos, me parecen tecnologías con mucho futuro a pesar de que el lenguaje Javascript tenga mucho que mejorar.</p><p>Debido a mi afán de estas tecnologías, aquí os dejo Milokoban, el típico juego de empujar cajitas. Lo publiqué hace un año tanto en mi web como en Android y pongo a vuestra disposición el código fuente. La licencia es <a
target="_blank" href="http://gplv3.fsf.org/">GPLv3</a>. ¡Espero que os guste! <img
src='http://www.linuxhispano.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /></p><p><strong>Juego:</strong></p><p><div
style="text-align:center;"> <object
type="text/html" data="http://www.linuxhispano.net/source/code/milokoban/index.html" width="320" height="480"></object></div></p><p><strong>Código fuente:</strong> <a
href="http://www.linuxhispano.net/source/code/milokoban/milokoban.zip" class="broken_link">milokoban.zip</a>.</p><p><strong>Android Market</strong>: <a
target="_blank" href="https://market.android.com/details?id=com.phonegap.miloqmilokoban">Milokoban</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/06/16/milokoban-juega-y-descarga-su-codigo-fuente/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Juego en HTML Canvas &#8211; Fred Jones</title><link>http://www.linuxhispano.net/2011/05/29/juego-en-html-canvas-fred-jones/</link> <comments>http://www.linuxhispano.net/2011/05/29/juego-en-html-canvas-fred-jones/#comments</comments> <pubDate>Sun, 29 May 2011 10:32:01 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Juegos]]></category> <category><![CDATA[css]]></category> <category><![CDATA[html]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[juego]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6373</guid> <description><![CDATA[Todos sabemos que HTML, CSS y Javascript están de moda. Y es verdad, estas tecnologías forman un trío excelente para realizar aplicaciones multiplataforma. Recordad que la W3C simplificó HTML5 a HTML, personalmente me encantó su decisión, denominando su versión Living &#8230; <a
href="http://www.linuxhispano.net/2011/05/29/juego-en-html-canvas-fred-jones/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Todos sabemos que HTML, CSS y Javascript están de moda. Y es verdad, estas tecnologías forman un trío excelente para realizar aplicaciones multiplataforma. Recordad que la W3C simplificó HTML5 a HTML, personalmente me encantó su decisión, denominando su versión <a
target="_blank" href="http://whatwg.org/html">Living Standard</a>.</p><p>Como me gustan los juegos aquí os dejo uno que demuestra lo que se puede hacer ya programando en estos lenguajes. Si bien estas tecnologías aún les queda mucho camino para sustituir la potencia de Flash con respecto a las aplicaciones web, es un avance muy importante.</p><p>Los <strong>controles</strong> son el <strong>cursor izquierdo</strong> y el <strong>cursor derecho</strong> para moverse y <strong>espacio</strong> para saltar. Si no se mueve el personaje, pulsa con el botón izquierdo del ratón en el canvas.</p><div
style="text-align:center;"> <object
type="text/html" data="http://www.watersheep.org/~markh/html_canvas/game.html" width="645" height="485"></object></div> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/05/29/juego-en-html-canvas-fred-jones/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Detectar dispositivos táctiles en Javascript</title><link>http://www.linuxhispano.net/2011/05/19/detectar-dispositivo-tactil-en-javascript/</link> <comments>http://www.linuxhispano.net/2011/05/19/detectar-dispositivo-tactil-en-javascript/#comments</comments> <pubDate>Thu, 19 May 2011 01:48:06 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[detectar]]></category> <category><![CDATA[dispositivos]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[táctiles]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6301</guid> <description><![CDATA[Últimamente, los programadores web tienen que desarrollar aplicaciones que sirvan tanto para un PC como para un dispositivo táctil. En Javascript, éste es el código que yo utilizo cuando quiero hacer una web multiplataforma: if (&#34;ontouchstart&#34; in document.documentElement) { &#160;&#160;// &#8230; <a
href="http://www.linuxhispano.net/2011/05/19/detectar-dispositivo-tactil-en-javascript/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Últimamente, los programadores web tienen que desarrollar aplicaciones que sirvan tanto para un PC como para un dispositivo táctil.</p><p>En Javascript, éste es el código que yo utilizo cuando quiero hacer una web multiplataforma:</p><p><div
style="background-color: #eee; color: #222; font-family: consolas, menlo, liberation mono, monospace; text-align: left;"> if (&quot;ontouchstart&quot; in document.documentElement)<br
/> {<br
/> &#160;&#160;// Es un dispositivo táctil.<br
/> }<br
/> else<br
/> {<br
/> &#160;&#160;// No es un dispositivo táctil.<br
/> }</div></p><p>Esto es muy útil ya que no se usarán los mismos eventos de Javascript en un PC que en un dispositivo táctil.</p><h3><strong>Ejemplo</strong></h3><p>Para probar el ejemplo, copia el código fuente y pégalo en un editor de textos. Guárdalo como <i>ejemplo.html</i> y ejecútalo desde un navegador.</p><div
style="background-color: #eee; color: #222; font-family: consolas, menlo, liberation mono, monospace; text-align: left;"> &lt;!doctype html&gt;<br
/> &lt;html&gt;<br
/> &#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;Detectar dispositivos t&aacute;ctiles en Javascript&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;<br
/> &#160;&#160;&#160;&#160;&lt;style type=&quot;text/css&quot;&gt;<br
/> &#160;&#160;&#160;&#160;&#160;&#160;#canvas{background-color: #000;}<br
/> &#160;&#160;&#160;&#160;&lt;/style&gt;<br
/> &#160;&#160;&#160;&#160;&lt;script type=&quot;text/javascript&quot;&gt;<br
/> &#160;&#160;&#160;&#160;&#160;&#160;document.addEventListener(&quot;DOMContentLoaded&quot;, iniciar, false);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;function iniciar()<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var canvas = document.getElementById(&quot;canvas&quot;);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (&quot;ontouchstart&quot; in document.documentElement)<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;canvas.addEventListener(&quot;touchstart&quot;, detectar, false);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;canvas.addEventListener(&quot;mousedown&quot;, detectar, false);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&#160;&#160;function detectar()<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (&quot;ontouchstart&quot; in document.documentElement)<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;alert(&quot;Es un dispositivo táctil.&quot;);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;alert(&quot;No es un dispositivo táctil.&quot;);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}<br
/> &#160;&#160;&#160;&#160;&lt;/script&gt;<br
/> &#160;&#160;&lt;/head&gt;<br
/> &#160;&#160;&lt;body&gt;<br
/> &#160;&#160;&#160;&#160;&lt;canvas id=&quot;canvas&quot; width=&quot;150&quot; height=&quot;150&quot;&gt;&lt;/canvas&gt;<br
/> &#160;&#160;&lt;/body&gt;<br
/> &lt;/html&gt;</div> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/05/19/detectar-dispositivo-tactil-en-javascript/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>8 métodos de jQuery que deberías conocer</title><link>http://www.linuxhispano.net/2011/05/06/8-metodos-de-jquery-que-deberias-conocer/</link> <comments>http://www.linuxhispano.net/2011/05/06/8-metodos-de-jquery-que-deberias-conocer/#comments</comments> <pubDate>Fri, 06 May 2011 16:16:03 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[ajax]]></category> <category><![CDATA[desarrollo]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[método]]></category> <category><![CDATA[programación]]></category> <category><![CDATA[web]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6171</guid> <description><![CDATA[Si trabajas o piensas trabajar a diario con este fantástico framework de JavaScript que es jQuery, más que probablemente te interese leerte esta entrada donde explicamos 8 métodos básicos de jQuery que quizás no conozcas, pero que sin lugar a &#8230; <a
href="http://www.linuxhispano.net/2011/05/06/8-metodos-de-jquery-que-deberias-conocer/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Si trabajas o piensas trabajar a diario con <a
target="_blank" href="http://es.wikipedia.org/wiki/JQuery" target="_blank">este fantástico framework de JavaScript que es jQuery</a>, más que probablemente te interese leerte esta entrada donde explicamos 8 métodos básicos de jQuery que quizás no conozcas, pero que sin lugar a dudas, deberías conocer. Esta entrada es una traducción y adaptación <a
target="_blank" href="http://www.queness.com/post/7050/8-jquery-methods-you-need-to-know" target="_blank">del original en inglés aparecido en Queness</a>.</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/05/jquery_logo.png"><img
class="aligncenter size-full wp-image-6192" title="jquery_logo" src="http://www.linuxhispano.net/wp-content/uploads/2011/05/jquery_logo.png" alt="" width="420" height="104" /></a></p><p><strong>1. data()</strong></p><p>El método <em>data</em> nos permite manejar datos de cualquier elemento del <a
target="_blank" href="http://es.wikipedia.org/wiki/Document_Object_Model" target="_blank">DOM</a> de una forma segura, evitando referencias circulares y los efectos sobre la memoria de las mismas. Veamos un ejemplo:</p><pre>&lt;div data-type="page" data-hidden="true" data-options='{"name":"John"}'&gt;&lt;/div&gt;
$("div").data("role") === "page";
$("div").data("hidden") === true;
$("div").data("options").name === "John";</pre><p>O lo que es lo mismo:</p><pre>$("div").data("role", "page");
$("div").data("hidden", "true");
$("div").data("role", {name: "John"});</pre><p><a
target="_blank" href="http://api.jquery.com/data" target="_blank">Referencia completa en la documentación jQuery de <strong>data()</strong></a></p><p><strong>2. stop( [limpiarCola ], [saltarAlFinal] )<br
/> </strong></p><p>El método permite parar, la animación que está actualmente en ejecución. Es verdaderamente útil cuando manejamos imágenes.</p><p>Veamos un ejemplo de llamada:</p><pre>$(this).find('img').stop(true, true).fadeOut();</pre><p><a
target="_blank" href="http://api.jquery.com/stop" target="_blank">Referencia completa en la documentación jQuery de <strong>stop()</strong></a></p><p><strong>3. toggleClass()</strong></p><p>Permite conmutar clases, de forma, que si el elemento tiene ya la clase, la elimina y viceversa. El siguiente código:</p><pre>$('#home').toggleClass('active');</pre><p>Hace exactamente lo mismo que este:</p><pre>if ($('#home').hasClass('active')) {
    $('#home').removeClass('active');
}
else {
    $('#home').addClass('active');
}</pre><p><a
target="_blank" href="http://api.jquery.com/toggleClass" target="_blank">Referencia completa en la documentación jQuery de <strong>toggleClass()</strong></a></p><p><strong>4. delay(duracion, [nombreCola])</strong></p><p>Permite retrasar la ejecución de las funciones que se ejecutan en una cola. Muy útil con las animaciones.</p><pre>$('#content').slideUp(300).delay(800).fadeIn(400);</pre><p><a
target="_blank" href="http://api.jquery.com/delay" target="_blank">Referencia completa en la documentación jQuery de <strong>d</strong><strong>elay()</strong></a></p><p><strong>5. each()</strong></p><p>Este método nos permite iterar sobre estructuras del DOM de una forma simple en una sola línea. Cada vez que se llama, itera una vez comenzando en el elemento 0 hasta el final de la estructura. Veamos un ejemplo:</p><pre>&lt;ul&gt;
    &lt;li&gt;Apple&lt;/li&gt;
    &lt;li&gt;Orange&lt;/li&gt;
    &lt;li&gt;Mango&lt;/li&gt;
    &lt;li&gt;Blueberry&lt;/li&gt;
    &lt;li&gt;Watermelon&lt;/li&gt;
&lt;/ul&gt;</pre><p><a
target="_blank" href="http://api.jquery.com/each" target="_blank">Referencia completa en la documentación jQuery de <strong>each</strong><strong>()</strong></a></p><p><strong>6. size()</strong></p><p>La llamada a esta función es equivalente a la llamada al atributo <em>length</em>. Es mejor usar el atributo, pero siempre viene bien saber más posibilidades.</p><pre>var size1 = $("li").size(); // es igual a
var size2 = $("li").length;</pre><p><a
target="_blank" href="http://api.jquery.com/size" target="_blank">Referencia completa en la documentación jQuery de <strong>size</strong><strong>()</strong></a></p><p><strong>7. closest(selector)</strong></p><p>Obtiene el primer ancestro (elemento superior en el árbol) que concuerda con la regla incluida en el selector.</p><pre>$('li.item-a').closest('ul').css('background-color', 'red');</pre><p><a
target="_blank" href="http://api.jquery.com/closest" target="_blank">Referencia completa en la documentación jQuery de <strong>clostest</strong><strong>()</strong></a></p><p><strong>8. position()</strong></p><p>El método nos devuelve la posición de un elemento respecto a otro, a diferencia del método <em>offset</em> que lo hace respecto del documento. Sin lugar a dudas, el método más útil para situar elementos de forma relativa a otros:</p><pre>var p = $("p:first");
var position = p.position();
alert("left: " + position.left + ", top: " + position.top);</pre><p><a
target="_blank" href="http://api.jquery.com/position" target="_blank">Referencia completa en la documentación jQuery de <strong>position()</strong></a></p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/05/06/8-metodos-de-jquery-que-deberias-conocer/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Pantalla de espera en peticiones AJAX con jQuery</title><link>http://www.linuxhispano.net/2011/04/29/pantalla-de-espera-en-peticiones-ajax-con-jquery/</link> <comments>http://www.linuxhispano.net/2011/04/29/pantalla-de-espera-en-peticiones-ajax-con-jquery/#comments</comments> <pubDate>Fri, 29 Apr 2011 10:24:01 +0000</pubDate> <dc:creator>F. Javier Carazo Gil</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[ajax]]></category> <category><![CDATA[animación]]></category> <category><![CDATA[espera]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[pantalla]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6124</guid> <description><![CDATA[Cuando trabajamos con aplicaciones que tienen interfaces web, sin lugar a dudas, la experiencia de usuario mejora enormemente si hacemos uso de tecnologías como AJAX que nos permiten transmisiones y recepciones asíncronas. No se fuerzan cambios ni refrescos de pantalla &#8230; <a
href="http://www.linuxhispano.net/2011/04/29/pantalla-de-espera-en-peticiones-ajax-con-jquery/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Cuando trabajamos con aplicaciones que tienen interfaces web, sin lugar a dudas, la experiencia de usuario mejora enormemente si hacemos uso de tecnologías como <a
target="_blank" href="http://es.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a> que nos permiten transmisiones y recepciones asíncronas.</p><p><strong>No se fuerzan cambios ni refrescos de pantalla</strong> y por lo tanto, la experiencia del usuario es más continua y más parecida a cómo sería en un interfaz de escritorio. Sin embargo, este tipo de tecnologías tiene un problema: si no controlamos los eventos del usuario mientras existe una carga de datos, es posible que se generen comportamientos erráticos.</p><p>Pongamos un <strong>ejemplo</strong>. Tenemos un sistema que carga una serie de datos de forma dinámica con AJAX a través de un formulario. Cuando el usuario hace la búsqueda, la carga se realiza y se le muestra. Si la carga tarda &#8220;mucho&#8221; y no se bloquea de alguna forma la posibilidad de seguir buscando, pueden aparecer resultados incoherentes (de búsquedas anteriores) o directamente fallar el sistema por sobrecarga.</p><p>¿Cuál es la solución más popular para este tipo de problemas? Utilizar una pantalla de espera. Vamos a explicar cómo hacerlo con <a
target="_blank" href="http://es.wikipedia.org/wiki/JQuery" target="_blank">jQuery</a> en muy pocos pasos.</p><p><strong>Introducción</strong></p><p>La solución que vamos a usar, utilizará un <em>div </em>no opaco de color gris, que ocupará la pantalla al completo cuando se produzca una petición de tipo <a
target="_blank" href="http://es.wikipedia.org/wiki/AJAX" target="_blank">AJAX</a>. El <em>div </em>incorporará una animación en la parte central.</p><p><strong>El div</strong></p><p>Deberemos situar un <em>div</em> que por defecto se encuentre escondido, <em>hide</em>, justo al comienzo de nuestro código del <em>body</em>. Contendrá una imagen de carga, que podréis generar fácilmente con alguna aplicación web como <a
target="_blank" href="http://www.ajaxload.info/" target="_blank">AJAXLoad</a>.﻿</p><p>El código será el siguiente:</p><pre>&lt;div id="div_carga"&gt;
&lt;img id="cargador" src="./images/ajax-loader.gif"/&gt;
&lt;/div&gt;</pre><p><strong>El estilo del div</strong></p><p><strong> </strong>Para que el <em>div </em>ocupe la pantalla completa y la imagen se quede en medio, deberemos establecer las siguientes reglas CSS:</p><pre>#div_carga{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
	background: url(images/gris.png) repeat;
	display:none;
	z-index:1;
}
#cargador{
    position:absolute;
    top:50%;
    left: 50%;
    margin-top: -25px;
    margin-left: -25px;
}</pre><p>El fichero <em>gris.png </em>que aparece, es un fichero con una imagen en <a
target="_blank" href="http://es.wikipedia.org/wiki/Portable_Network_Graphics" target="_blank">PNG</a> de color gris con transparencias.</p><p><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/04/jquery.gif"></a><a
href="http://www.linuxhispano.net/wp-content/uploads/2011/04/jquery-logo.png"><img
class="aligncenter size-full wp-image-6130" title="jquery-logo" src="http://www.linuxhispano.net/wp-content/uploads/2011/04/jquery-logo.png" alt="" width="268" height="268" /></a><br
/> <span
style="color: #444444;"><strong>El código jQuery</strong></span></p><p>Finalmente tenemos que introducir el código que se encargue de hacer que en cuanto se produce una petición AJAX el <em>div</em> se muestre y que cuando finalice, se oculte. Podríamos hacerlo para cada operación, pero es mucho más cómodo usar las funciones:</p><ul><li><a
target="_blank" href="http://api.jquery.com/ajaxStop/" target="_blank">.ajaxStop()</a></li><li><a
target="_blank" href="http://api.jquery.com/ajaxStart" target="_blank">.ajaxStart()</a></li></ul><p>¿Cómo? Como se muestra a continuación.</p><pre>$('#div_carga')
			.hide()
			.ajaxStart(function() {
				$(this).show();
			})
			.ajaxStop(function() {
				$(this).hide();
			})
		;</pre><p>Como siempre, cualquier sugerencia, corrección o comentario será bien recibido.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/04/29/pantalla-de-espera-en-peticiones-ajax-con-jquery/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>Cargar una imagen en JavaScript</title><link>http://www.linuxhispano.net/2011/04/24/cargar-imagen-javascript/</link> <comments>http://www.linuxhispano.net/2011/04/24/cargar-imagen-javascript/#comments</comments> <pubDate>Sun, 24 Apr 2011 17:20:02 +0000</pubDate> <dc:creator>Manuel Ignacio López Quintero</dc:creator> <category><![CDATA[Tutoriales]]></category> <category><![CDATA[cargar]]></category> <category><![CDATA[imagen]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[tutorial]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=6058</guid> <description><![CDATA[A la hora de desarrollar web apps resulta fundamental algún metodo eficaz para cargar imágenes en Javascript. Antes de que el usuario entre en una página es necesario que ésta se cargue por completo. Si en tu aplicación web vas &#8230; <a
href="http://www.linuxhispano.net/2011/04/24/cargar-imagen-javascript/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>A la hora de desarrollar <i>web apps</i> resulta fundamental algún metodo eficaz para cargar imágenes en Javascript. Antes de que el usuario entre en una página es necesario que ésta se cargue por completo. Si en tu aplicación web vas a trabajar con imágenes dinámicas, es decir, que se crean en un momento determinado es fundamental que antes realices la carga en memoria.</p><p>Éste es el código que utilizo sin usar ningún tipo de librería:</p><div
style="background-color: #ddd; color: #222; font-family: monospace; font-weight: bold; text-align: left;"> var imagen = new Image();<br
/> imagen.onload = imagenCargada;<br
/> imagen.src = &quot;ejemplo.png&quot;</p></div><p>En la función <b>imagenCargada</b> es donde ya sé que la imagen ha sido cargada correctamente y puedo proceder a su utilización ya que está almacenada en memoria.</p><h3><strong>Ejemplo</strong></h3><div
style="background-color: #ddd; color: #222; font-family: monospace; font-weight: bold; text-align: left;"> &lt;!doctype html&gt;</p><p>&lt;html&gt;<br
/> &#160;&#160;&lt;head&gt;<br
/> &#160;&#160;&#160;&#160;&lt;title&gt;Cargar imagen&lt;/title&gt;<br
/> &#160;&#160;&#160;&#160;&lt;meta charset=&quot;utf-8&quot; /&gt;</p><p>&#160;&#160;&#160;&#160;&lt;script type=&quot;text/javascript&quot;&gt;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;document.addEventListener(&quot;DOMContentLoaded&quot;, inicio, false);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;function inicio()<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var nuevaImagen = new Image();</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;alert(&quot;Se procede a la carga en memoria de la imagen&quot;);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;nuevaImagen = cargarImagen(&quot;ejemplo.png&quot;);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;function cargarImagen(url)<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var imagen = new Image();<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;imagen.onload = imagenCargada;<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;imagen.src = url;<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return imagen;<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}</p><p>&#160;&#160;&#160;&#160;&#160;&#160;function imagenCargada()<br
/> &#160;&#160;&#160;&#160;&#160;&#160;{<br
/> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;alert(&quot;La imagen se ha cargado correctamente&quot;);<br
/> &#160;&#160;&#160;&#160;&#160;&#160;}</p><p>&#160;&#160;&#160;&#160;&lt;/script&gt;</p><p>&#160;&#160; &lt;/head&gt;</p><p>&#160;&#160;&lt;body&gt;<br
/> &#160;&#160;&lt;/body&gt;</p><p>&lt;/html&gt;</div><h3><strong>Código fuente del ejemplo</strong></h3><p>Descarga el código fuente del ejemplo pulsando <a
target="_blank" href="http://linuxhispano.net/manuales/cargarImagenJs.zip">aquí</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2011/04/24/cargar-imagen-javascript/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Kinect + DepthJS + Ubuntu + FX = Minority Report</title><link>http://www.linuxhispano.net/2010/12/09/kinect-depthjs-ubuntu-fx-minority-report/</link> <comments>http://www.linuxhispano.net/2010/12/09/kinect-depthjs-ubuntu-fx-minority-report/#comments</comments> <pubDate>Thu, 09 Dec 2010 15:15:44 +0000</pubDate> <dc:creator>Alberto Hornero Luque</dc:creator> <category><![CDATA[Noticias]]></category> <category><![CDATA[canonical]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[kinect]]></category> <category><![CDATA[librería]]></category> <category><![CDATA[linux+]]></category> <category><![CDATA[minority report]]></category> <category><![CDATA[mozilla]]></category> <category><![CDATA[php]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[web]]></category> <guid
isPermaLink="false">http://www.linuxhispano.net/?p=4581</guid> <description><![CDATA[¿Te gustaría navegar a lo Minority Report? Pues bien, demos la bienvenida a DepthJS, una extensión del navegador web Mozilla Firefox que nos permite que cualquier página web interactue con Kinect a través de JavaScript. DepthJS es mucho más que &#8230; <a
href="http://www.linuxhispano.net/2010/12/09/kinect-depthjs-ubuntu-fx-minority-report/">Continuar leyendo <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>¿Te gustaría navegar a lo <strong>Minority Report</strong>? Pues bien, demos la bienvenida a DepthJS, una extensión del navegador web <strong>Mozilla Firefox</strong> que nos permite que cualquier página web interactue con <strong>Kinect </strong>a través de JavaScript.</p><p><strong>DepthJS </strong>es mucho más que una nueva forma de navegar. La idea fundamental es que ahora los desarrolladores web que se especializen en <strong>Javascript </strong>pueden trabajar con el Kinect sin tener que aprender un nuevo lenguaje o código especial de comunicación. Esto permitirá una nueva serie de interacciones más allá de lo que desarrolló por primera vez.</p><p>A continuación os dejo el vídeo del equipo de desarrollo de DepthJS en acción:</p><p><object
width="651" height="366"><param
name="allowfullscreen" value="true" /><param
name="allowscriptaccess" value="always" /><param
name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=17180651&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" /><embed
src="http://vimeo.com/moogaloop.swf?clip_id=17180651&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ff9933&amp;fullscreen=1&amp;autoplay=0&amp;loop=0" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="651" height="366"></embed></object></p><p><strong>DepthJS </strong>es una aplicación de código abierto bajo la licencia <strong>AGPL</strong>. La podéis descargar desde <a
target="_blank" href="https://github.com/doug/depthjs">github.com/doug/depthjs</a></p> ]]></content:encoded> <wfw:commentRss>http://www.linuxhispano.net/2010/12/09/kinect-depthjs-ubuntu-fx-minority-report/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> </channel> </rss>
