2010-04-15 55 views
6

La aplicación se ejecuta en un cuadro de Windows Server 2003 con asp.net 2.0 y es una aplicación web específica de IE. Hay un botón que abre un formulario en un iframe usando showModalDialog (...) desde una llamada de función ubicada en el JavaScript.Error de Javascript al intentar abrir una ventana modal en una ventana modal

Aquí es un ejemplo de la función:

function ShowBusinessHoursSubForm(source) 
{ 
    var retval = window.showModalDialog("htm/" + locLocaleID + "/SubFormHostFrame.htm", source, "dialogWidth:265px;dialogHeight:261px;help:no;scroll:no;status:no;"); 

} 

marco El anfitrión se está cargando una página aspx que contiene la forma real que se utiliza. En el formulario que se abre hay un botón que, cuando se hace clic, envía cambiado al formulario. Sin embargo, si no se realizó ningún cambio antes de enviar el formulario, aparece otra ventana modal que indica que no se cambió el formulario. Esta ventana modal se abre mediante el registro de algunos JavaScript en el evento de clic de botón. El código es el siguiente (C#):

string l_S_ErrorScript = "<script type='text/javascript' language='javascript'>window.showModalDialog('htm/" + l_S_Culture + "/NotChangedErrorDialog.htm', '../../" + l_S_SkinPath + "', 'dialogWidth:310px;dialogHeight:145px;scroll:no;help:no;status:no;');</script>"; 

if(!m_Page.ClientScript.IsStartupScriptRegistered("ErrorScript")) 
     { 
      m_Page.ClientScript.RegisterStartupScript(this.GetType(), "ErrorScript", l_S_ErrorScript); 
     } 

Cuando se hace clic en el botón y las necesidades de este cuadro de diálogo para aparecer aparece el siguiente error de JavaScript:

Error: Object doesn't support this property or method

Lo extraño es, si puedo acceder a la aplicación localmente y probarlo todo funciona bien, pero el acceso desde otra computadora causa el error. Además, dependiendo de qué servidor (tenemos muchos servidores para probar todo con Windows Server 2003), el error puede no ocurrir tampoco en otra computadora. Estas computadoras están ejecutando la misma versión de software usando la misma versión de IE con la misma configuración. Me inclino a creer que hay algún problema de configuración en alguna parte, pero con la configuración igual es difícil de decir. Realmente no puedo cambiar cómo funciona la aplicación o las tecnologías que se usan.

¿Alguien tiene alguna idea de lo que puede estar causando esto?

Respuesta

9

El problema fue con el bloqueador de pop-ups en IE en la máquina del cliente. Como la ventana modal se abría en otra ventana modal, el bloqueador de ventanas emergentes no lo consideraba parte del elemento primario y cree que debería bloquearlo. Después de agregar el sitio al bloqueador de pop-ups, todo funcionó.

¡Qué ridículo!

Cuestiones relacionadas