lunes, 14 de septiembre de 2009

Comportamiento no deseado de flash con menús DHTML dinámicos

Tuve problemas con un sitio que estaba diseñando y en el cual se coloca una presentación flash. El problema ocurrió porque el sitio tiene un menú que está desarrollado en dhtml, cuando el usuario mueve el cursor sobre el menú se despliegan submenús con otras opciones, pero lamentablemente el flash quedaba por encima de los menús y ocultaba el contenido de estos.
La solución es bastante sencilla, basta con colocar la presentación flash dentro de un div con las siguientes características:

<div style="z-index: 0;">
<!-- Aquí va el código de la presentación flash -->
</div>

Y listo, ahora los menús aparecerán sobre la presentación flash. Fácil, sencillo y efectivo.

domingo, 23 de agosto de 2009

Modificación de la librería livevalidation.js

Para un proyecto de sitio web necesité una librería de validación de envío de formularios, uno de los requisitos del cliente era que la validación se hiciera tan pronto como el usuario estuviera digitando el formulario. Estuve buscando en la red y me encontré con una muy buena librería que hace esto, la dirección es:
http://www.livevalidation.com/
Me pareció espectacular, sólo encontré una dificultad y es que yo quería poder colocar imágenes o código html en los mensajes de validación, concretamente colocar para un mensaje de validado y para un mensaje de error.
Si revisamos el código fuente de la librería encontramos que está bajo licencia MIT que expresamente dice:

/****************** MIT License **********************/
/**
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated
* documentation files (the “Software”), to deal in the Software
* without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, subject to the
* following conditions:
*
* The above copyright notice and this permission notice shall
* be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF
* ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
* LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

Aprovechando esto, podemos tomar el código y hacerle las modificaciones que necesitemos, así que hice precisamente eso:
El resultado lo pueden descargar de aquí
El archivo se debe descomprimir y colocar en un sitio web para pruebas.

martes, 18 de agosto de 2009

Cambiar la configuración de una tarjeta de red desde una línea de comandos en Windows

De manera frecuente ocurre que necesitamos configurar la tarjeta de red en entornos de red diferentes. En estos casos es bastante dispendioso volver a entrar a la configuración de la tarjeta de red y escribir los valores de dirección ip, máscara de subred, puerta de enlace, dns primario y dns secundario. Para evitar esto se puede hacer un archivo .bat con los comandos que cambian la configuración de red de la tarjeta de red. Por ejemplo:
REM Inicio de archivo bat
@echo off
netsh interface ip set address name="Nombre de la conexión de red" static [Direccion IP] [Mascara de red] [Puerta de enlace] 1
netsh interface ip set dns "Nombre de la conexión de red" static [IP DNS Primario] primary
netsh interface ip add dns "Nombre de la conexión de red" [IP DNS Secundario]
ipconfig /release
ipconfig /renew
REM Fin de archivo bat

Guardamos el archivo con extensión .bat y lo podemos colocar en el escritorio, así cuando queramos modificar la configuración de la tarjeta de red lo que hacemos es dar doble clik y ya está. En Windows Vista hay que dar click con el botón derecho y seleccionar la opción de ejecutar como administrador. Un ejemplo completo sería el siguiente:
REM Inicio de archivo bat
@echo off
netsh interface ip set address name="Conexi¢n de rea local" static 192.168.25.133 255.255.255.0 192.168.25.12 1
netsh interface ip set dns "Conexi¢n de rea local" static 192.168.1.1 primary
netsh interface ip add dns "Conexi¢n de rea local" 192.168.1.10
ipconfig /release
ipconfig /renew
REM Fin de archivo bat

Esto valdría para una conexión de red que se llame "Conexión de área local", como ven hay que tener cuidado pues el manejo de las tildes no es igual en entornos Windows que en el entorno de línea de comandos, lo ideal sería no tener tildes en el nombre de las conexiones de red pero coloco el ejemplo así pues es la forma como Windows coloca el nombre por defecto cuando el sistema operativo está en español. En el ejemplo además la dirección IP fija que estamos asignado es la 192.168.25.133, la máscara de red 255.255.255.0, la puerta de enlace 192.168.25.12, el DNS primario 192.168.1.1 y el servidor DNS secundario 192.168.1.10.

Sólo es cuestión de cambiar y colocar los valores que necesitamos y listo.

El archivo de ejemplo lo pueden bajar de aquí

lunes, 1 de septiembre de 2008

Webshots Downloader

He publicado un script GreaseMonkey para firefox que permite descargar imágenes desde Webshots sin necesidad de tener una cuenta Premium.

Enlace al script