Oct 30

Hoy al probar en Internet Explorer una página en la que estoy trabajando apareció el siguiente mensaje:

Internet Explorer no puede abrir el sitio, operación anulada

El problema: Yo uso el script SWFObject, para insertar películas flash, este script en ciertas circunstancias cuando se ejecuta en IE 6/7 produce un conflicto y aparece ese error.

La solución: Añadir el atributo defer=”defer” en el script que contiene SWFObject asi:

<script type="text/javascript" defer="defer">

La conclusión: No usar IE.

En http://aralbalkan.com/912 podemos ver mas detalles del problema

[Actualizado]

Si al incluir un video de Youtube o una película flash, usa código validado para evitar el problema.

Puedes ver nuestro post  Incluir flash en nuestras páginas con código validado

Jul 02

Cuando utilizamos formularios web y pasamos los valores via POST para que sean procesados con AJAX, suele pasar que se presentan caracteres extraños al momento de receptarlos en PHP.

Para solucionar este problema debemos hacer:

  1. Utilizar la función encodeURI() para codificar las variables capturadas en el AJAX (javascript)
  2. Capturar las variables en PHP y decodificarlas con las función utf8_decode()

Espero les ayude esta simple solución.

Abr 28

compress

Comprimir el código de nuestros archivos de javascript, reduce considerablemente el tiempo de carga de una página, sobre todo si esta usa varios archivos, además de disminuir el ancho de banda usado.

JSMIN es una herramienta que permite comprimir archivos javascript, al eliminar comentarios, saltos de línea.

Hay varias versiones de JSMIN escritas en diferentes lenguajes, podemos usar la versión de MS-DOS, en la que abrimos una consola de windows (WINDOWS + R y cmd) y ejecutamos:

jsmin <archivo.js >archivo_comprimido.js "Comentario de cabecera"

Abr 06

Lazy Loading, es una forma de cargar asincronamente nuestros archivos javascript, es decir el navegador no carga directamente el archivo, en su procesa una petición dinámica que creará la llamada para cargar el archivo, ofreciendo los siguientes beneficios:

  • No detiene la carga del resto de elementos de la página, a diferencia de incluir la carga del archivo dentro del head, donde el resto de la página se muestra después de que el fichero haya sido cargado totalmente, normalmente la página se queda en blanco por unos segundos.
  • Reduce errores en la manipulación de elementos del DOM, pues al cargarse el archivo, todos los elementos existen, a diferencia de hacerlo dentro del head.
  • Reduce el tiempo de carga de la página, como lo demuestra Stevesouders

La implementación de Lazy Loading seria así:

<head>
<script type="text/javascript">
window.onload = function() {
var script = document.createElement('script');
script.src = "archivo_javascript.js";
script.text = "funcion_a_ejecutar()";
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
</head>

Vía aNieto2k

Mar 15

JDownloader

JDownloader es un gestor de descargas para sitios como Rapidshare, Megaupload y otros.

JDownloader puede ser usado tanto por usuarios premium como los sin pago, permitiendo:

  • Cargar una lista de archivos a descargarlos
  • Reconocimiento de captcha
  • Con plugins se puede apagar el computador luego de que una descargar haya finalizado
  • Es open source
  • Permite la descarga paralela y simultanea
  • Permite la reconexion automática, con la que se asigna una nueva ip, para evitar el tiempo de espera en servicios como Rapidshare

Continuar leyendo »

Feb 16

Image Cropper UI es una extensión de prototype que implementa una interfaz en javascript para recortar imagenes

Image Cropper UI

Esta extensión permite definir una region de una imagen a través un de selector muy similar a los usados un herramientas de edisíon de fotografias.

Es bastante parametrizada por lo que permite definir anchos y altos mínimos, ratio, vista previa, drag and drop, redimensión, etc

Pagina de la extensión Image Cropper UI

Ver Demo

Ene 29

Hoy se presento un interesante problema, necesitaba obtener el texto de la opción seleccionada de un combo, con prototype.

Asi fue como lo consegui:

<script type="type="text/javascript">
var combo = $('id_combo');
var text = combo.options[combo.selectedIndex].text
</script>

Asi de sencillo


Switch to our mobile site