style attribute javascript window.open

javascript - attribute - title css



Cómo obtener las referencias de todas las ventanas hijas ya abiertas (4)

No creo que puedas, a menos que conozcas los nombres de Windows, que supongo que no. (Si conoce sus nombres, puede usar window.open("", "name") para obtener una referencia a ellos).

La mejor opción es, por supuesto, recordar la referencia devuelta desde window.open en primer lugar, pero eso lo sabes. :-)

Quiero obtener las referencias de todas las ventanas secundarias ya abiertas. ¿hay alguna manera? No estoy usando child = window.open(....) simplemente usando window.open(....) y abriendo múltiples ventanas secundarias.


Ok, utilicé las respuestas a esta pregunta en Oracle CRM onDemand para desactivar una selección en una ventana emergente ejecutando el script desde la ventana principal, ¡y funcionó! (No tengo control sobre la generación de ventanas emergentes, las abre el marco de aplicación)

Veamos cómo lo hice:

Contexto : en una página de detalles, el usuario puede agregar cierta información haciendo clic en un icono de lupa >>> se abre una nueva ventana que contiene un formulario de búsqueda, pero una selección molesta al administrador: si el usuario cambia su valor predeterminado, lo hará ganar acceso a registros prohibidos !! ¡Oh Dios mío!

Primer enfoque : deshabilitar ese seleccionar ahora!

Intento : Encontré attrib onclick de la imagen con las herramientas de desarrollo de mi navegador (F12). Había un método openAssocPopup, y luego sabía el nombre de la ventana secundaria: ''OccamPopup1'' :)

¡Bueno! Así que hagamos algo de magia (ejecutada en la ventana principal):

window.open("","OccamPopup1").document.getElementById("frmSearch.AQ").setAttribute("disabled", true);

Creo que esto puede ayudar, ya que esta pregunta también me ayudó. Usted tenía razón. Ahora estoy tratando de ajustar el objeto del documento del niño dentro del objeto jQuery del padre para que pueda obtener acceso al DOM de todo el niño ... pero esta es otra historia ...


Sería mejor nombrar las ventanas usando un prefijo y un contador.

Necesitaba detectar si una ventana con nombre (es decir, CBCheckout) ya estaba abierta y usé esto:

var signupWindow = window.open('''',''CBCheckout'',''toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=1,height=1''); try { if (signupWindow.document.location.href == "about:blank") { signupWindow.close(); signupWindow = undefined; } } catch (e) { }

Esto recapturó la referencia a la ventana abierta nombrada. Si no existiera, verías una pequeña ventana emergente por un segundo.

Si conoce los posibles nombres de las ventanas, puede recorrer los nombres e intentar localizarlos.


Si no desea cambiar su código actual, puede simplemente anular la función window.open() :

var openedWindows = []; window._open = window.open; // saving original function window.open = function(url,name,params){ openedWindows.push(window._open(url,name,params)); // you can store names also... }

Ejecute este código antes de llamar a window.open() . Todas las referencias a las ventanas abiertas se almacenarán en la matriz de openedWindows . Puede acceder a ellos en cualquier lugar que desee