Saltar al contenido
Marcos Peña
Menú
  • Acerca de…
Menú

Me obligaron a hacerlo

Publicada el septiembre 28, 2012marzo 29, 2016 por Marcos
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:
1
2
3
4
5
6
7
8
if ($.browser.msielength) {
        var x;
        function find() {
            x = new ActiveXObject("WScript.Shell")
            x.SendKeys("^f");
        }
        $("<input id="buscarEnTexto" title="Buscar" type="image" value="Buscar" src="rutat/imagenbuscar.png" />").css({ position: "absolute", right: 175, top: -65, background: "transparent" }).appendTo("div#contenedor-padre").click(function (e) { e.preventDefault(); find(); return false; });
    }
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. inútil 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.

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Artículos

  • abril 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • junio 2021
  • mayo 2021
  • abril 2021
  • marzo 2021
  • febrero 2021
  • enero 2021
  • diciembre 2020
  • noviembre 2020
  • octubre 2020
  • septiembre 2020
  • agosto 2020
  • julio 2020
  • junio 2020
  • mayo 2020
  • abril 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • diciembre 2019
  • noviembre 2019
  • octubre 2019
  • septiembre 2019
  • agosto 2019
  • julio 2019
  • junio 2019
  • mayo 2019
  • abril 2019
  • marzo 2019
  • febrero 2019
  • enero 2019
  • noviembre 2018
  • octubre 2018
  • julio 2016
  • mayo 2016
  • abril 2016
  • agosto 2015
  • febrero 2014
  • junio 2013
  • febrero 2013
  • noviembre 2012
  • octubre 2012
  • septiembre 2012
  • abril 2012
  • enero 2012

Categorías

  • Cómo
  • Consejos
  • Hacks
  • Sin sentido
  • Tutorial

Etiquetas

apache API aws cache Centos Codeigniter EAC firefox flash freebsd freenas gmail Google guacamole java Javascript jQuery kubuntu Linux mysql nas4free nginx php plesk postfix python react rtorrent Seguridad sftp sonata-admin spring spring-boot sql ssh ssl symfony symfony2 symfony4 thymeleaf ubuntu vnc wget windows wine

Entradas recientes

  • Confirmación antes de apagar
  • cURL error 60: SSL certificate problem: unable to get local issuer certificate
  • Oracle JDK 7 is NOT installed.
  • ssh: connect to host: Connection refused
  • Restringir acceso a un bucket de AWS s3 por IP

Comentarios recientes

  • Marcos en Deobbing flash
  • Irosales en Deobbing flash
  • Instalación certificado SSL de un vendedor – Marcos Peña en Instala un certificado SSL en tres pasos
  • gerMdz en Cómo instalar un certificado letsencrypt para un sitio gestionado por Cloudflare
  • Jose Olalla en Cómo ampliar el espacio en disco en 1and1

Archivos

  • abril 2022
  • marzo 2022
  • febrero 2022
  • enero 2022
  • diciembre 2021
  • noviembre 2021
  • octubre 2021
  • septiembre 2021
  • agosto 2021
  • julio 2021
  • junio 2021
  • mayo 2021
  • abril 2021
  • marzo 2021
  • febrero 2021
  • enero 2021
  • diciembre 2020
  • noviembre 2020
  • octubre 2020
  • septiembre 2020
  • agosto 2020
  • julio 2020
  • junio 2020
  • mayo 2020
  • abril 2020
  • marzo 2020
  • febrero 2020
  • enero 2020
  • diciembre 2019
  • noviembre 2019
  • octubre 2019
  • septiembre 2019
  • agosto 2019
  • julio 2019
  • junio 2019
  • mayo 2019
  • abril 2019
  • marzo 2019
  • febrero 2019
  • enero 2019
  • noviembre 2018
  • octubre 2018
  • julio 2016
  • mayo 2016
  • abril 2016
  • agosto 2015
  • febrero 2014
  • junio 2013
  • febrero 2013
  • noviembre 2012
  • octubre 2012
  • septiembre 2012
  • abril 2012
  • enero 2012

Categorías

  • Cómo
  • Consejos
  • Hacks
  • Sin sentido
  • Tutorial

Meta

  • Acceder
  • Feed de entradas
  • Feed de comentarios
  • WordPress.org
© 2022 Marcos Peña | Funciona con Minimalist Blog Tema para WordPress