gpt4 book ai didi

尝试在模态窗口中打开模态窗口时出现 Javascript 错误

转载 作者:数据小太阳 更新时间:2023-10-29 05:11:17 26 4
gpt4 key购买 nike

该应用程序在使用 asp.net 2.0 的 Windows Server 2003 机器上运行,并且是一个特定于 IE 的网络应用程序。有一个按钮可以使用位于 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 = "<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);
}

当单击按钮并且需要出现此对话框时,会出现以下 JavaScript 错误:

Error: Object doesn't support this property or method

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

有人知道是什么原因造成的吗?

最佳答案

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

多么可笑!

关于尝试在模态窗口中打开模态窗口时出现 Javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com