2010-10-14 12 views
5

tengo una aplicación web que lanza una URL en otras ventanas/pestañas. Me gustaría verificar si la ventana/pestaña existe; si no, quiero crearlo, me gustaría elegirlo en primer lugar. que utilizo:Controlando la ventana del navegador a través de Javascript

wf=window.open(address, web_form_target, 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=640,height=450'); 
if(wf!=null) 
    wf.focus(); 

y sale bien sólo la primera vez (en el IE, no en Firefox); si creo una nueva pestaña en la ventana, cuando llamo a window.open() no pasa nada; si cierro la ventana, la recrea pero la mantiene iconizada ... ¿Hay alguna manera que pueda seguir para obtener un buen resultado?

Gracias de antemano Saludos, c.

Respuesta

2

Aquí hay un código que he usado para las edades que hasta ahora funciona según lo que sé. Tenga en cuenta que oWindow tiene un alcance global, y que lo paso al segundo parámetro de abrir como una cadena, no como el objeto en sí. Entonces, pongo a prueba para ver si está cerrado antes de intentar abrir de nuevo ... si ya está abierto, entonces simplemente darle el foco:

var oWindow; 

function openWindow(p_strURL) { 

    if(!oWindow || oWindow.closed) { 
     oWindow = window.open(p_strURL, "oWindow", "status, scrollbars, resizable, width=800, height=500"); 
     if(!oWindow.opener) { 
      oWindow.opener = window; 
     } 
    } 
    else { 
     oWindow.location.href = p_strURL; 
     oWindow.focus(); 
    } 
} 

espero que ayude a encontrar una solución,

Kevin

+0

Genial, amigo mío, este es un gran paso adelante para mí. +50 para ti !! – Cris

0

web_form_target es el nombre de la ventana.

if (wf.name !== web_form_target) { 
    // create it 
} 
+0

lo he intentado, pero si abro una pestaña nueva en la misma ventana del navegador abierto, la llamada a la ventana falla. – Cris

Cuestiones relacionadas