該應用程序使用asp.net 2.0在Windows Server 2003盒子上運行,並且是IE特定的Web應用程序。有一個按鈕使用來自位於JavaScript中的函數調用的showModalDialog(...)在iframe中打開表單。嘗試在模式窗口中打開模式窗口時發生Javascript錯誤
下面是函數的一個例子:
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以相同的設置運行相同的軟件版本。我傾向於認爲某處存在某些配置問題,但設置相同時很難說明問題。我無法真正改變應用程序如何工作或使用的技術。
任何人有任何想法可能是什麼原因造成這種情況?