Por casualidad he descubierto como burlar al bloqueador de popups de Firefox, y Opera. Y así conseguir abrir tantas ventanas emergentes como nos plazca.
En las diferentes configuraciones donde lo he probado, el sistema ha funcionado sin problemas. Siempre bajo Windows, con Flash 7 y diferentes versiones de Firefox y Opera. Sorprendentemente Internet Explorer 6, detecta sin problemas el "truco".
La idea es bien simple. Se trata de hacer que el encargado de abrir el popup no sea directamente la página HTML que estamos visualizando, sino un elemento Shockwave.
Sería algo así:
1) Incrustamos una llamada al Flash que se encargará de abrir el popup.
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width=1 height=1>
<param name="movie" value="images/05/06/swf_popup.swf">
<param name="quality" value="high">
<embed src="images/05/06/swf_popup.swf" quality="high" width=1 height=1 type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</object>
2) Publicamos el Flash que usando Javascript abre el popup.
getURL("javascript:window.open('http://www.javiergutierrezchamorro.com', 'wndOpen', 'width=700,height=500'); void(0);");
Me extraña muchísimo que esta "funcionalidad", no sea explotada en sitios de dudosa ética cuando detectan que el usuario usa Firefox u Opera. Por otro lado, imagino que el problema no tardará más de 4 semanas en quedar resuelto.
Siento curiosidad por saber como se comporta este código con otros navegadores y sistemas operativos. No os cortéis, y publicad un comentario con vuestros resultados.
Puedes verlo en funcionamiento, o descargarte los fuentes (5 Kb en formato ZIP).
#1 by Hermann on 1 de junio de 2005 - 17:35
Citar
Usando Firefox en Windows con el plugin de Flashblock no funciona. Cuando se activa el flash da un error de JavaScript.
#2 by Hermann on 1 de junio de 2005 - 17:37
Citar
Jeje, quise decir en Linux, pero en Windows con Firefox y sin Flashblock tampoco funciono
#3 by Gaizka on 1 de junio de 2005 - 20:09
Citar
Tengo FireFox 1.04 con WinXP y no me salta el popup
#4 by Joan on 1 de junio de 2005 - 20:23
Citar
Ooops!
windows, firefox 1.04
Página en blanco title "Error en el bloqueo de popups"
#5 by Javier Gutiérrez Chamorro (Guti) on 1 de junio de 2005 - 20:25
Citar
Lo he comprobado en un Windows XP con Firefox 1.0.3, y no me abre el popup. De hecho, ni siquiera me ejecuta el código Javascript que debería mostrar al alert().
En Opera sigue funcionando.
Miraré a ver cual es el motivo por el que con algunos Firefox funciona el Javascript desde Flash, y con otros no.
#6 by Javier Gutiérrez Chamorro (Guti) on 1 de junio de 2005 - 20:31
Citar
He podido comprobar como en dos Firefox (1.0.3 y 1.1 alpha), las llamadas a Javascript desde un Flash incrustado no funcionan.
Para probarlo, no hay más que incrustar un Flash con el código:
getURL("javascript:alert();");
Al cargar la página, Firefox no mostrará el alert, mientras que con Internet Explorer y Opera si que lo hace.
Lo que me lleva a pensar en un bug de Firefox en si, ya que el plugin de Flash que usan Opera y Firefox es el mismo, y con el Opera funciona. Pensándolo bien, tal vez no sea un error, y se haya hecho para evitar efectos malintencionados.
#7 by dean on 2 de junio de 2005 - 05:30
Citar
A reclamar recompensa si de un bug se trata, ya hay un aleman que gano 5 mil dolares en un día…
SUERTE!!…
#8 by Javier Gutiérrez Chamorro (Guti) on 2 de junio de 2005 - 07:44
Citar
Ayer lo reporté al Bugzilla (Bug #296348).
No espero el dinero, aunque si me lo dan, pues mejor.
#9 by Ramón Rey Vicente on 2 de junio de 2005 - 16:19
Citar
Yo siento curiosidad por saber que necesidad hay de hacer cosas asi de intrusivas en las webs. ¿no hay maneras mucho mas elegantes de hacer las cosas en vez de molestar al usuario con cincomil ventanitas?
#10 by Javier Gutiérrez Chamorro (Guti) on 2 de junio de 2005 - 17:37
Citar
Ramón Rey Vicente, el único interés son los ingresos obtenidos por la publicidad intrusiva.
#11 by Javier Gutiérrez Chamorro (Guti) on 2 de junio de 2005 - 22:02
Citar
Parece ser que el problema ha sido confirmado por más gente.
https://bugzilla.mozilla.org/show_bug.cgi?id=296348.
#12 by diegocaro on 3 de junio de 2005 - 15:23
Citar
A mi no me hace error firefox 1.0.2 de ubuntu hoary 😀
(ehemm, como va el desarrollo de sphpblog? :D)
#13 by Javier Gutiérrez Chamorro (Guti) on 3 de junio de 2005 - 17:50
Citar
Imaginaba que el problema solo estaría en Windows. Gracias por confirmarlo.
Llevamos unos meses muy liados con otros asuntos, por lo que SPHPBlog, no ha avanzado casi nada durante este tiempo.
Esperemos poder recuperar algo en breve, y liberar la 0.4.5 final, con las características actuales del CVS estabilizadas.