Las diversas respuestas que sugieren utilizar cualquier forma de .focus()
probablemente no van a funcionar en todos los navegadores.
Esta solía funcionar en el pasado pero no más, principalmente debido a que los navegadores trabajan para evitar que las redes publicitarias oscuras empujen sus anuncios emergentes al primer plano.
En Mozilla Firefox en particular (dependiendo de su versión) hay una configuración configurada por defecto que impide que otras ventanas (por ejemplo, ventanas emergentes) se enfoquen.
Puede encontrar esta configuración en la página about:config
(¡pise con cuidado!)
dom.disable_window_flip: true
Si no recuerdo mal este ajuste se llamaba algo así como ~ "allow_raise_or_lower_windows *
otros navegadores puede implementar algo similar, sino simplemente si 1 de los navegadores principales bloquea el uso de .focus()
de forma predeterminada, entonces no hay mucho uso al intentar llamarlo.
Como resultado, la única solución que he visto que funciona es ver si la ventana existe, y todavía no está cerrada ... y si la cierra, cargue la ventana que desea.
function closePopupIfOpen(popupName){
if(typeof(window[popupName]) != 'undefined' && !window[popupName].closed){
window[popupName].close();
}
}
al abrir su ventana emergente si hay una posibilidad de que ya está abierto (y enterrado detrás de otras ventanas), entonces puede llamar a esta función antes de intentar abrir la ventana emergente.
closePopupIfOpen('fooWin');
var fooWin = window.open('someURL', 'foo', '...features...');
El inconveniente, por supuesto, es que si había algo (por ejemplo, una forma parcialmente llenado) "importante" en esa ventana se perderá.
posible duplicado de [Uso de JavaScript, ¿Cómo llevar una ventana abierta ya existente en la parte delantera en la parte superior de otras ventanas de otro código ventanas?] (Http: // stackoverflow.com/questions/2530572/using-javascript-how-do-i-bring-an-already-existing-open-window-to-the-front-on) –
@Andy en esa pregunta, el usuario se pregunta cómo traiga la ventana del abridor/padre al frente desde la ventana del niño/abierta. Estoy preguntando cómo hacerlo a la inversa. Traiga al niño/ventana abierta al frente desde la ventana principal/de apertura. Si eso tiene sentido. –
lo siento. He visto esta pregunta antes, sin embargo, simplemente no puedo encontrarla ahora :-) –