试图在模式窗口中打开模式窗口时发生Javascript错误

试图在模式窗口中打开模式窗口时发生Javascript错误,javascript,showmodaldialog,Javascript,Showmodaldialog,该应用程序使用asp.net 2.0在windows server 2003机箱上运行,是一个特定于IE的web应用程序。有一个按钮,用于从JavaScript中的函数调用使用showModalDialog(…)在iframe中打开表单 以下是该函数的一个示例: function ShowBusinessHoursSubForm( source ) { var retval = window.showModalDialog("htm/" + locLocaleID + "/Sub

该应用程序使用asp.net 2.0在windows server 2003机箱上运行,是一个特定于IE的web应用程序。有一个按钮,用于从JavaScript中的函数调用使用showModalDialog(…)在iframe中打开表单

以下是该函数的一个示例:

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

}
主机框架正在加载一个包含正在使用的实际表单的aspx页面。在打开的表单上有一个按钮,单击该按钮时,将更改的内容提交到表单。但是,如果在提交表单之前没有进行任何更改,则会弹出另一个模式窗口,说明表单没有更改。此模式窗口通过在按钮单击事件中注册一些JavaScript打开。代码如下(C#):

string l_S_ErrorScript=“window.showmodialdialog('htm/“+l_S_Culture+”/notchangederrodialog.htm','../../“+l_S_SkinPath+”,'dialogWidth:310px;dialogHeight:145px;滚动:否;帮助:否;状态:否;');
如果(!m_Page.ClientScript.isstartupscript已注册(“错误脚本”))
{
m_Page.ClientScript.RegisterStartupScript(this.GetType(),“ErrorScript”,l_S_ErrorScript);
}
单击按钮时,需要显示此对话框,此时会出现以下JavaScript错误:

错误:对象不支持此属性或方法

奇怪的是,如果我在本地访问应用程序并尝试它,一切正常,但从另一台计算机访问会导致错误。此外,根据服务器的不同(我们有许多服务器用于测试所有windows server 2003),该错误也可能不会在另一台计算机上发生。这些计算机使用相同版本的IE和相同的设置运行相同的软件版本。我倾向于认为某个地方存在一些配置问题,但由于设置相同,很难判断。我无法真正改变应用程序的工作方式或使用的技术


有人知道是什么原因导致了这种情况吗?

问题在于客户端计算机上IE中的弹出窗口阻止程序。由于模态窗口在另一个模态窗口中打开,弹出式拦截器不认为它是父部分的一部分,并认为它应该阻止它。将站点添加到弹出窗口阻止程序后,一切正常

真可笑

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);
        }