Impulsando a los usuarios a actualizar IE6

31 01 2010

Ya con anterioridad había probado ie6 Update que es un script que crea una barra de información que luce idéntica a la de IE, pero en vez de ofrecer a los visitantes un plugin ActiveX, ofrece una actualización del navegador. Si aún tienes una instalación de IE6, puedes ver en funcionamiento este script en la página de FractalMedia.

Pero muchas veces necesitas algo más grande, con más poder de convencimiento, al estilo Google Wave: Para estos casos encontré sevenup, que tiene el mismo objetivo que ie6 Update, pero con una ventana de mucho mayor tamaño.
Leer el resto de esta entrada »





AJAX y el horrible problema de IE6 con el cache

31 01 2010

Llevo días trabajando en una página que refresca cada cierto tiempo la data interna de la misma a través de la descarga de un JSON. Como siempre, todo funcionaba perfecto en todos los exploradores menos en IE6, en el cual la data no refrescaba; la única manera de obtener que se refrescara la data nueva era borrando los archivos temporales, incluyendo las archivos para navegación offline. Después de probar todos los tags meta con todas sus posibles combinaciones y no poder resolver el problema: encontré en un foro la solución en una sola línea “request.setRequestHeader(‘If-Modified-Since’, ‘Thu, 1 Jan 1970 00:00:00 GMT’)“. Este comando logra que la data descargada no se almacene en cache y se pueda refrescar la página.

Al final, mi código quedó de la siguiente manera:

function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};
request.open('GET', url, true);
request.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
request.send(null);
}





Reproducir sonidos con JavaScript

8 12 2009

Esta semana, estaba haciendo una función en la que traigo data a una página usando JSON, y al momento de analizar la data, el cliente me solicitó que quería algunas alertas de sonido si se presentaban ciertas condiciones.

La primera opción que probé fue publicada en Pizcos Blog y usa un plugin para JQuery que se llama jquery.sound. Leer el resto de esta entrada »





Bordes redondos en Opera

16 09 2009
Bordes redondos en opera

Bordes redondos se ven cuadrados en Opera

Hace días estaba creando bordes redondos a algunos div en diferentes exploradores. Comencé primero modificando el CSS y agregué el siguiente código:

-moz-border-radius:4px;
-khtml-border-radius:4px;
-webkit-border-radius:4px;

Con eso fue suficiente para Firefox, Chrome y Safari. Sin embargo, también quería lograr el mismo look & feel en Opera y en el tan odiado para todos IE6: por lo que empecé a buscar varios JS que me ayudaran en esta tarea.
Leer el resto de esta entrada »





Problemas con display:fixed en IE6?

5 08 2009
El dilema del arquitecto de Matrix

El dilema del arquitecto de Matrix

Desde siempre, IE6 ha sido un dolor de cabeza para todos los desarrolladores web. Uno de los grandes problemas ha sido que el IE6 no reconoce el display:fixed. Buscando en Internet podrán encontrar varios hacks: coloca el display:absolute y luego coloca el margin tal y blablabla. Yo prefiero usar un js que puedes descargar desde la página de doxdesk.com con el cual, el único código que necesitas agregar para arreglar la propiedad fixed en IE6 es:

<script type="text/javascript" src="fixed.js"></script>

Y con eso solucionas el problema. Yo lo acabo de usar para hacer una pestaña al lado derecho de una página, esta pesaña es un anchor, y no presenta problemas con el display:fixed en ningún explorador.





Probando servidores fáciles para recibir datos vía TCP usando Grizzly

23 07 2009

Grizzly. El motor del nuevo Glassfish

Hace unos días me surgió la necesidad de hacer un servidor capaz de recibir solicitudes TCP concurrentes con un buen rendimiento y de manera fácil. Entre las herramientas que surgieron, se encontró Grizzly: el cual en su página principal nos explica que es un proyecto que surge por la necesidad de escribir aplicaciones para servidores escalables y robustas en lenguaje Java, de una manera mucho más fácil usando la librería Java New I/O API (NIO). Leer el resto de esta entrada »





Todos en moroco y sus cosas celebramos el primer post

15 07 2009

Todos nosotros (yo) estamos de fiesta por este magnífico evento: el primero post.
Por otro lado, estoy seguro que la persona que entre a este blog y tenga usando Ubuntu desde Dapper, dirá que el nombre de este blog es un completo plagio, pero al contrario: es un tributo al blog que me ayudó en los peores momentos y me dió las soluciones a muchos de los problemas que me habrían hecho tirar la toalla en la incursión del software libre, es un tributo al blog de fredcpp y sus cosas