Si eres programador y trabajas por cuenta ajena, probablemente alguna vez te haya tocado implantar una solución o funcionalidad en contra de lo que consideras básicos principios del sentido común. Después de todo, el cliente paga para que se haga lo que dice, independientemente de estándares, usabilidad o costes inútiles.
Hace poco me pidieron que dotara a una aplicación web de una funcionalidad curiosa. Un buscador para encontrar palabras dentro del texto de la página. De la página que se está visualizando, o sea lo mismo que el Ctrl+F de toda la vida. El desarrollo era para una aplicación para ser desplegada únicamente en una intranet y accesible únicamente con Internet Explorer 9, así que la solución que se adoptó, con la ayuda de un poco de jQuery, fue la siguiente:
Y listos.
Pero luego, mira tú por dónde, se decidió que la aplicación había de ser publicada en las interwebs. Y compatible con los navegadores principales, desde Opera en adelante. Y, claro, el objeto ActiveX no está muy bien visto fuera del reino IE. Hay que reconocer que otros navegadores admiten lanzar el buscador de texto en página por javascript:
En Firefox y en algunos otros de la familia gecko window.find() abre la ventanita del buscador de texto en la página. No así en Chrome y otros navegadores de la rama webkit. Estos últimos sí que admiten el método object.find(), pero hay que pasarle un argumento (el texto a buscar) y, en cualquier caso, no abren el solicitado buscador de texto. Opera, por su lado, ni siquiera se da por enterado.
Ante la imposibilidad de conseguir una solución homogénea, se decidió presentar una solución por javascript, compatible con la inmensa mayoría de navegadores, para ello qué mejor que desarrollar un plugin para jQuery.
Es más lento que qualquier buscador interno del navegador, más inestable y posiblemente impreciso, pero el cliente tiene su botoncito. Un poco por desahogo, decidí hacer en una tarde una paginilla para «promover el plugin». Si a pesar de lo que he dicho, alguien quiere echarle un vistazo, no tiene más que pinchar en la imagen. Quedais avisados.
Igual no sabes que es Open Graph, pero seguro que lo has visto en acción cuando, al compartir un enlace de una web por un chat, por arte de magia aparece una imagen representativa de la página compartida. En cualquier caso, si no has oído hablar de OG, lo más seguro es que no te…
Escenario Me he comprado un ordenador nuevo hace una semana y estoy mandando unos archivos con un filezilla recién instalado cuando, durante la transmisión del tercer o cuarto fichero, la conexión se interrumpe. La interfaz gráfica de Filezilla deja de responder y tengo que tirar de un killall -9 filezilla para conseguir matar el proceso….
Escenario Un usuario se conecta con el móvil a su aplicación de empresa. Si es la primera vez que lo hace ésta le pide autorización para recabar su localización. La aplicación manda la localización al servidor y desde el servidor se informa a una página de monitorización. Dicha página está conectada por websocket con el…
Escenario Cuál fue mi sorpresa cuando la semana pasada al intentar acceder a este blog me encontré que estaba bloqueado por Firefox. Probé con Chrome, misma situación. En vez de cargar la página, el navegador mostraba una pantalla en rojo avisando que el sitio puede contener programas dañinos para mi ordenador. Problema Aunque los dos…
Escenario Esta mañana ha ocurrido algo inexplicable, por lo menos, como suele pasar en este dominio, hasta que hemos dado con la solución; luego parecía obvio. Nos avisan que una de las máquinas de nuestra red negaba el acceso por SSH provocando el siguiente error:
Escenario Estoy trabajando en una aplicación multi-lenguaje desarrollada con la plataforma spring boot. Para quien no conozca esta plataforma de desarrollo, spring boot te permite gestionar varios lenguajes gracias a un sistema que utiliza ficheros de tipo propiedades para almacenar las traducciones. Los nombres de estos ficheros han de respetar la siguiente convención, messages_{código ISO…