> Faqs > Bloquear popups con mi propio código Javascript

Bloquear popups con mi propio código Javascript

Hola. Utilizo un servicio para páginas web que me ofrece estadísticas. Este servicio es bastante bueno y no lo quiero quitar, pero al incluir su código han empezado a mostrar popups en mis páginas web.

Así, con cada página que se muestra de mi sitio, está lanzándose un popup que me parece muy molesto para los visitantes.

Yo quisiera mantener el servicio, pero no quiero que se muestren los popups. Si se puede evitar desde el própio código de la página sería genial. Es decir, hacer algo en Javascript para bloquear los popups que aparecen.

Si no se puede, en último término, cambiaría de servicio de estadísticas.

Respuestas

Lo cierto es que algo se podrá hacer, pero sería también jugar sucio por tu parte, bloqueando los popups que te salen por poner su servicio.

Luego ellos podrán encontrar una manera de mostrar popups o ventanas secundarias que evite el código que hayas podido incluir tú... y esto puede ser una guerra a ver quién es el más listo. Para evitar esa guerra, mejor quitar el servicio.

Pero tengo una solución para evitar que se muestren popups en nuestras páginas. A mi me funciona, pero habría que ver el resultado de incluir esto en las páginas que muestran las estadísticas de Nedstats.

Yo intentaría sobreescribir el código de la función window.open(), que es la que se utiliza para abrir ventanas secundarías o popups.

Mira este script....

<script>   
 function nada(){   
   alert("hola"); // quitar esta línea después de probar que funciona
 }   
   
 window.open=nada   
   
 window.open ("http://www.guiarte.com","hola","width=400,height=300")   
 </script>

Primero defino una función que no hace nada (bueno, en realidad he puesto un mensaje para saber si se está ejecutando esa función o no)

Luego igualo a window.open la función que acabo de crear. Con window.open se abren ventanas secundarias o popups en Javascript. Si asigno la función nada() a window.open(), cuando se intente abrir un popup con window.open, en realidad lo que ocurrirá es que se ejecutará la función nada().

Por último, intento abrir un popup, para comprobar si se ejecuta la función nada(). Lo que ocurre es que se muestra el mensaje de alerta de la función nada, en lugar de abrirse el popup.

Esto se tiene que ejecutar antes de que se intente abrir un popup... es decir, si el popup se lanza antes de que se ejecute la sentencia en la que se sobreescribe el código de window.open, se abrirá correctamente.

Espero que esto te pueda servir.

Miguel Angel
3090 138 206 17