2012-05-06 21 views
7

Uso window.open y lo llamo en el documento ready, pero está bloqueado por un bloqueador de ventanas emergentes en Firefox. Luego añade esto a la función y hacer una llamada de esta función desde un botón y luego disparar el clic de botón sin éxito:'window.open' bloqueado por Firefox

$(function(){  
    abcd();  
}); 


function abcd(){ 
    var popup = window.open("http://localhost/johndyer-mediaelement-7ed6c51/demo/index.php","mypopup","width=500,height=300");  
} 

¿Hay alguna manera de abrir una ventana emergente externa o una nueva pestaña en el navegador cuando el página cargada?

+0

FF bloquea ventanas emergentes incluso si el bloqueador de ventanas emergentes está completamente desactivado. Use 'about: config' y busque' popup' para ver por qué. No estoy del todo seguro, sin embargo, de qué se trata realmente esta configuración y cómo habilitar ventanas emergentes ilimitadas para ciertas aplicaciones que las necesitan. – Tino

Respuesta

5

No abra pop-up publicitarios. Es molesto.

Por otro lado, si se trata de un mensaje que el usuario quiere ver, entonces usted puede utilizar un plugin jQuery como Colorbox para mostrar una ventana modal flotando sin abrir una nueva ventana emergente, que el usuario puede cerrar fácilmente.

+0

:) esto es para agregar una música de fondo para el sitio web, el sitio debe volver a cargarse completamente en las páginas y la música necesita reproducirse continuamente sin un segundo espacio. este es mi problema. no puedo usar ajax o iframes :(. tengo alguna solución para este –

+0

@thecoshman esta edición agrega objetivamente (un poco) valor. Yo diría, ¡solo recibo la ayuda! – sehe

+0

@sehe es un pequeño deslizamiento de valor potencial sin embargo, y la gran cantidad de ediciones que hace tu hombre! Sin embargo, me referí a mi comentario con la lengua en la mejilla. Obviamente no se hizo daño, ¡pero mi señor! – thecoshman

9

Firefox tiene un conjunto de reglas que lo ayudan a decidir si las ventanas emergentes deben ser bloqueadas o no. Por lo general, si la acción se inicia con un clic del usuario, Firefox permitirá abrir ventanas emergentes, pero si se hace mediante javascript "puro", lo más probable es que lo bloquee.

Puedes leer sobre esto aquí: http://support.mozilla.org/en-US/kb/Pop-up%20blocker.

Así que si usted lee el artículo cuidadosamente notará que los popups inicializadas por el usuario haga clic se abrirán:

<input type="button" value="Click Me"/> 

y jQuery código

$('input').click(function(){window.open("http://google.com");​​​​})​ 

incluso con bloqueo de ventanas emergentes encendido. Inténtelo:

http://jsfiddle.net/demee/mQ9eR/

+0

sí, hay algún truco para esto;) –

+3

Si supiera cómo desactivar programáticamente los bloqueadores de usuarios, sería millonario. Tal vez, en lugar de usar una ventana emergente basada en navegador, intente utilizar algo como el diálogo de jquery http://jqueryui.com/demos/dialog/. Eso no será bloqueado, y será más rápido. – demee

+1

:) esto es para agregar una música de fondo para el sitio web, el sitio debe estar lleno de recarga dentro de las páginas y la música necesita reproducirse continuamente sin un segundo espacio. este es mi problema. no puedo usar ajax o iframes :(. tengo alguna solución para esta respuesta actualizada –