Resolución

Leer más » Comentar

Depurar AJAX o funciones del cron en WordPress con un log

Si trabajáis con WordPress, probablemente en más de una ocasión hayáis hecho esto en el wp-config.php para ver los errores que estáis buscando:

define('WP_DEBUG', true);

Sin embargo, hacer esto y solamente esto tiene una serie de problemas y limitaciones:

  • No podemos depurar el AJAX que ejecutamos llamando a admin-ajax, porque el error no se vierte en la pantalla
  • Si tenemos tareas programadas, tampoco veremos si generan errores
  • En un sitio en producción no podremos mostrar por seguridad y por funcionalidad mensajes, por lo que deberemos guardar los errores en un log

Con la solución de guardar los errores en el log, evitamos todos estos problemas y le damos una solución rápida y práctica. read more

Leer más » 1 Comentario

Nuevo fondo de pantalla para Ubuntu 12.10

Ya tenemos el nuevo fondo de pantalla que aparecerá para Ubuntu 12.10. Como se observa, en este fondo de pantalla los degradados son muchos más suaves. Puedes descargarlo pulsando aquí.

Leer más » 2 Comentarios

Lo mejor de mi timeline del 26 de mayo al 1 de junio

@CulturaTecno F.lux: Ajusta la pantalla de acuerdo a la iluminación y hora del día
@muylinux 6 alternativas en Linux para acceso remoto a otros equipos
@ahornero El sector TIC no consigue cubrir las plazas vacantes
@alesevilla92 Creo que acabo de entrar en esa fase que pasa casi todo informático de instalarse linux y odiar windows

Leer más » 1 Comentario

Lo mejor de mi timeline del 31 de marzo al 6 de abril

@javierburon Pantalla táctil para tablets y smartphones. Lo último.
@TuXapuntes GNU/Linux: Programación de Sistemas
@hackplayers Apple tiene la clave maestra para descifrar tus datos de iCloud
@ahornero Fractalizer para Gimp. Simplemente cumple su función, y bien
@googlechrome Modo multitarea en Google Chrome / Chromium
@BradBirdsall Sintaxis para MoreCSS

Leer más » 2 Comentarios

Fondo de escritorio en Ubuntu 12.04

Me encanta. Sencillo y elegante. Lo podéis descargar desde aquí.

Leer más » 3 Comentarios

Guantes para smartphone

El pasado mes de febrero os contaba cómo preparar unos guantes para usarlos con pantallas táctiles capacitivas, básicamente el procedimiento se reduce a hacer de tierra para ese tipo de pantallas a través de un material conductor (en ese caso un hilo pseudometálico) cosido al dedal del guante.

Bien, no soy un fanático de Groupon, ni tampoco me pagan por contaros lo siguiente, pero me ha parecido curioso y quería compartirlo con vosotros. Al parecer la idea a llegado a un fabricante y han diseñado un guante con el extremos de los dedos índice y pulgar (los que usamos en el móvil) con un conductor eléctrico.

Leer más » 1 Comentario

Pantalla de atajos de teclado para Ubuntu 12.04

Tengo esperanzas en Ubuntu 12.04. Espero que Canonical solvente las críticas vertidas sobre Unity. Y parece que están trabajando en ello por lo que estoy leyendo en OMG Ubuntu. Una de las novedades es la inclusión de una pantalla con todos los atajos de teclado de Unity. La pantalla se activa manteniendo pulsado la tecla Super, también conocido como tecla Windows.

Esta novedad, que aparecerá en la próxima versión de Ubuntu, es un claro ejemplo de que Canonical está escuchando a los usuarios y que quiere demostrar que Unity es la mejor interfaz de la nueva generación de distribuciones Linux. Personalmente, me parece una gran idea y espero que sigan trabajando para tener un Unity versátil y muy personalizable. read more

Leer más » 6 Comentarios

Pantalla de espera en peticiones AJAX con jQuery

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 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.

Pongamos un ejemplo. 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 “mucho” 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.

¿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 jQuery en muy pocos pasos.

Introducción

La solución que vamos a usar, utilizará un div no opaco de color gris, que ocupará la pantalla al completo cuando se produzca una petición de tipo AJAX. El div incorporará una animación en la parte central.

El div

Deberemos situar un div que por defecto se encuentre escondido, hide, justo al comienzo de nuestro código del body. Contendrá una imagen de carga, que podréis generar fácilmente con alguna aplicación web como AJAXLoad.

El código será el siguiente:

<div id="div_carga">
<img id="cargador" src="./images/ajax-loader.gif"/>
</div>

El estilo del div

Para que el div ocupe la pantalla completa y la imagen se quede en medio, deberemos establecer las siguientes reglas CSS:

#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;
}

El fichero gris.png que aparece, es un fichero con una imagen en PNG de color gris con transparencias.


El código jQuery

Finalmente tenemos que introducir el código que se encargue de hacer que en cuanto se produce una petición AJAX el div 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:

¿Cómo? Como se muestra a continuación.

$('#div_carga') .hide() .ajaxStart(function() { $(this).show(); }) .ajaxStop(function() { $(this).hide(); }) ; read more

Leer más » 12 Comentarios