Asier Marqués

Hablando sobre tecnologías web y otras cosas que me interesan

Archivo de la categoría 'javaScript'...

Archivado bajo Desarrollo Web, Trucos, javaScript

Cuando un usuario pulsa la tecla enter en un elemento de una interfaz web a veces es necesario realizar alguna opción, como por ejemplo guardar con ajax los datos insertados en dicho elemento.

El código para el botón Enter es el número trece (como el cómic).

Podemos usar el siguiente código javascript:

tecla_pulsada = (document.all) ? e.keyCode : e.which;
if (tecla_pulsada==13){ //hacer lo que sea }

Comentarios (0) Posted by Asier Marqués on Miércoles, Agosto 20th, 2008

Archivado bajo Desarrollo Web, Trucos, javaScript

En ocasiones necesitamos hacer uso de iframes, por ejemplo cuando queremos mostrar de una forma sencilla una foto que acabamos de subir asincrónamente al servidor vía ajax.

Para refrescar el contenido de un iframe, podemos hacerlo con el siguiente código javascript:

var iframe = parent.frames[id_del_iframe];
iframe.window.location.reload();

Comentarios (2) Posted by Asier Marqués on Lunes, Junio 30th, 2008

Archivado bajo Desarrollo Web, PHP, javaScript

Stephan Schmidt, desarrollador responsable de php-tools.net, ha publicado en stubbles.org una presentación en la que nos explica como desarrollar un proxy JSON-RPC usando para conseguirlo, un backend escrito en php con la ayuda de la api Reflection.

Comentarios (0) Posted by Asier Marqués on Miércoles, Mayo 28th, 2008

Archivado bajo Desarrollo Web, javaScript

Normalmente, cuando se hace una petición a una sitio web, éste carga todo su código javascript en la llamada.
Sin embargo, no todo el código es ejecutado inicialmente ni tampoco a lo largo del tiempo de ejecución de sus aplicaciones o interacciones, por parte del usuario, con las mismas.

Podemos darnos cuenta de ésto al observar esta gráfica.

Uso inicial de JavaScript en Aplicaciones Web

En ella observamos como conocidos sitios web deben cargar código javascript para luego usar normalmente un porcentaje. inferior al 50%. del mismo

Doloto es una solución de Microsoft, que aun no esta publicada y se encuentra en modo de pruebas por Microsoft Research, que ayuda a mejorar el rendimiento en aplicaciones web

Para conseguir su objetivo, Doloto analiza el código javascript de nuestras aplicaciones y creando perfiles de uso, descarga exclusivamente el código javascript necesario para inicializar la aplicación. El resto de código se transmite bajo demanda.

Una función en una aplicación que utilizase doloto tendría el siguiente aspecto:

[javascript,N]
function f(){
// descarga el cuerpo de la función “f”
var real_f_text = blocking_download(”f”);
// se prepara la función “f”
var real_f_func = this.eval(real_f_text);
// se evalua la función “f” con el objeto arguments
return real_f_func.apply(this, arguments);
}

Microsoft está probando esta tecnología en algunos sitios web, consiguiendo reducir el tiempo de carga en algunos de los mismo hasta en un 40%.

Tenéis más información sobre su arquitectura, concepto y resultados conseguidos en este interesante paper.

Comentarios (2) Posted by Asier Marqués on Jueves, Mayo 15th, 2008

Archivado bajo Desarrollo Web, javaScript

Simon Willison, uno de los creadores del framework para python Django, hizo una presentación ayer sobre las ventajas de usar JQuery para tener potencia JavaScript sin que ensucie nuestro código html.

Comentarios (0) Posted by Asier Marqués on Miércoles, Mayo 7th, 2008

Archivado bajo Calidad / Testing, Desarrollo Web, javaScript

Todos aquellos que desarrollamos aplicaciones internacionales tenemos presente, o deberíamos tener presente, gettext como una de las soluciones más potentes para conseguirlo.

JQuery cuenta con un plugin que nos permite implementar gettext mediante javascript, os dejo el enlace aquí.

Comentarios (0) Posted by Asier Marqués on Miércoles, Abril 16th, 2008

Archivado bajo Desarrollo Web, javaScript

Azer Koçulu ha desarrollado una librería llamada pi.comet, escrita en javascript que, de una forma realmente sencilla, nos permite hacer uso de la tecnología comet en nuestras aplicaciones web.

La diferencia entre llamadas por ajax y llamadas por comet reside en que, en las primeras, se debe iniciar una petición desde el navegador cada vez que queramos recibir una respuesta del servidor y, en las segundas, se lanza una sola petición al servidor y se van recogiendo las respuestas (siempre que la respuesta sea de tipo “application/x-dom-event-stream“).

Comentarios (1) Posted by Asier Marqués on Martes, Marzo 18th, 2008

Archivado bajo Desarrollo Web, Trucos, javaScript

Para obtener el valor (value) de un campo html input (text,hidden, etc) con jquery, lo haremos de la siguiente manera:

$("#identificador").get(0).value;

Para establecer un valor a un campo input lo haremos así:

$("#identificador").attr('value', 'valor para éste input');
Comentarios (6) Posted by Asier Marqués on Miércoles, Febrero 20th, 2008

Archivado bajo Desarrollo Web, javaScript

Normalmente cuando lanzamos una petición al servidor mediante ajax, una vez iniciada la petición… no tenemos control sobre la misma y tenemos que esperar a la respuesta del servidor (excepto si usamos otras técnicas como Comet).

AjaxInterceptor es una genial por no decir brutal librería escrita en javaScript por José Manuel Alarcón Aguín, mvp de desarrollo Microsoft, que nos permite controlar las peticiones ajax una vez lanzadas.

La utilidad de ésta librería es increible, ya que nos permite detener peticiones y mostrar mensajes mientras se procesan las mismas (ya no más circulos animados o “loading” indefinidos), además de soportar crossposting entre páginas del mismo dominio y respetar historial del navegador.

Comentarios (2) Posted by Asier Marqués on Martes, Febrero 12th, 2008

Archivado bajo Desarrollo Web, Trucos, javaScript

JQuery en algunos casos, concretamente a mí me ha pasado usando como servidor web nginx, al hacer una petición ajax puede retornarnos un 411 de “Length required”, fallando por tanto la respuesta.

La solución consiste en agregarle la opción data, con dos corchetes (”data: {}”), a la petición ajax. Un ejemplo sería:

 $.ajax({type: "POST",

	 dataType: "text",

	 url: "back.php",

	 data: {},

	 success: function(msg){

	   alert( "back.php devuelve: " + msg );

	 }

	});
Comentarios (2) Posted by Asier Marqués on Martes, Febrero 12th, 2008