Debido a que el sistema debe ser compatible con el método de apagado utilizado por el IE original, después de la depuración y la prueba, Window.Dialogarguments debe ser probado nuevamente, de lo contrario pueden ocurrir problemas.
función okend (vals) {if (vals == null) vals = "true"; if (typeof (window.opener) == "Undefined") {if (typeof (window.dialogarguments)! = "undefined") {if (window.dialogarguments && window.dialogarguments! = null) {window.opener = window.dialogarGuments; if (window.opener && window.opener! = null) {window.opener.returnValue = vals; }}}} else {if (window.opener && window.opener! = null) {window.opener.returnValue = vals; }} window.returnValue = vals; self.close ();}Para el valor de retorno recibido, solo necesita verificar el abridor en el modo de recepción de IE original, de la siguiente manera:
// Seleccione Cambiar la función de departamento setorganizeTree2 () {var url = "página emergente"; var ret = window.showModalDialog (url, ventana, "dialogwidth = 400px; dialogHeight = 500px; status = no; ayuda = no; scroll = yes; resizable = yes;"); if (typeof (ret) == "indefinido") {ret = window.returnValue; } if (ret) {document.getElementById ("HidDeptCode2"). Value = ret; document.getElementById ("BTNDeptCodeadd"). Click (); } return false; }Solución perfecta para el problema de compatibilidad del valor de retorno de la ventana modal JS
1. Al abrir la ventana emergente, pase la ventana como el segundo parámetro.
Var result = Window.ShowModalDialog (url, ventana, "dialogwidth =" + width + "px; dialogHeight =" + altura + "px; resizable: yes;") if (typeOf (result) == 'Undefined') {result = Window.returnValue; } resultado de retorno;2. En la ventana emergente, ejecute los siguientes JS para recibir la ventana entrante
if (typeof (window.opener) == 'Undefined') window.opener = window.dialogarGuments;
3. Antes de que se cierre la ventana emergente, llame a la siguiente asignación de JS para devolver el valor
Window.retureValue = vals; if (window.opener && window.opener! = null) window.opener.returnValue = vals; window.close ();
Discusión principal:
En Chrome, el método estándar puede devolver el valor cuando la página emergente no lo publica. Si hay una respuesta, el valor de retorno no se puede devolver normalmente. Este método se puede resolver.
Métodos estándar en IE, a veces el valor no se puede devolver correctamente por razones desconocidas, y este método se puede resolver.
FF no se ha probado en detalle, por lo que no debería haber grandes problemas.
La solución perfecta para el problema de compatibilidad con valor de retorno de ventana modal de JS anterior es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.