Ventana emergente: cómo hacer que window.blur () o window.focus () funcionen en FireFox 4?

Soy consciente de que FF4 no permite el uso de window.blur() menos que la configuración “Subir o Bajar ventana” esté habilitada en la configuración de FF. Simplemente ignora el evento.

Soy consciente de que algunos sitios aún logran abrir una ventana emergente y mantener el foco en su ventana actual, incluso cuando esta configuración está desactivada. ¿Cómo logran esto?

Además, no entiendo por qué .blur () y .focus () no funcionan cuando ambas páginas residen en el mismo dominio. De acuerdo con http://support.mozilla.com/en-US/questions/806756#answer-167267 esto debería funcionar.

Esto funciona para mí en Firefox y Chrome, en la configuración predeterminada ( JSFiddle ):

 function popUnder(url, width, height) { var popUnderWin, nav = navigator.userAgent, isGecko = /rv:[2-9]/.exec(nav), hackString; hackString = nav.indexOf('Chrome') > -1 ? "scrollbar=yes" : "toolbar=0,statusbar=1,resizable=1,scrollbars=0,menubar=0,location=1,directories=0"; popUnderWin = window.open("about:blank", "title", hackString + ",height=" + height + ",width=" + width); if (isGecko) { popUnderWin.window.open("about:blank").close(); } popUnderWin.document.location.href = url; setTimeout(window.focus); window.focus(); popUnderWin.blur(); } document.getElementById("asd").addEventListener("click", function() { popUnder("http://www.google.com", 1024, 768); }, false); 
 
click here

No logré que funcionase sin los extra extravagantes parámetros para window.open , por lo que hay algo para ellos.

http://support.mozilla.com/en-US/questions/806756#answer-167267

Dicen que no es posible a menos que todos vayan a about:config y configure dom.disable_window_flip como false .

No conozco ningún código que pase por alto esta restricción, pero creo que los otros sitios web usan algo distinto de window.blur() y window.focus()

Hay un artículo similar aquí