El valor de retorno de showModalDialog se puede obtener en IE y Firefox, pero devolverá Null en Google Chrome. La solución se presenta a continuación.
Página principal:
Copie el código de código de la siguiente manera:
función abrir ventanas(){
var obj = nuevo Objeto();
//Abre el subformulario modal y obtiene el valor de retorno
var retval = window.showModalDialog("ordervideo.jsp?rderIds="+"0010,0020,0030",obj,"dialogWidth=500px;dialogHeight=500px");
//para cromo
if(retval == indefinido) {
retval = ventana.returnValue;
}
alerta(retval);
}
Subpágina:
Copie el código de código de la siguiente manera:
función de carga(){
//para cromo
if(window.opener! = undefinido) { // El valor de window.opener no está vacío en Google Chrome, pero no está definido en IE/Firefox, por lo que puede juzgar si es Google Chrome.
window.opener.returnValue = flag; // El método para asignar un valor de retorno en Google Chrome window.opener.close() // Esto debe cerrarse una vez; de lo contrario, la ventana emergente no se puede cerrar ejecutando la siguiente ventana. .close(), porque la ventana emergente en Google Chrome es una ventana nueva
}
demás {
window.returnValue=flag; //Este método de asignación es compatible con IE/Firefox, pero no es compatible con Google Chrome
}
ventana.cerrar();
}