Приложение работает на Windows Server 2003 box с использованием asp.net 2.0 и является веб-приложением для IE. Есть кнопка, которая открывает форму в iframe с помощью showModalDialog (...) из вызова функции, расположенного в 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:
Ошибка: объект не поддерживает это свойство или метод
Странная вещь, если я получаю доступ к приложению локально и пробую его, все работает нормально, но доступ с другого компьютера вызывает ошибку. Кроме того, в зависимости от того, какой сервер (у нас есть много серверов для тестирования всех с Windows Server 2003), ошибка может не возникать и на другом компьютере. На этих компьютерах установлена одна и та же версия программного обеспечения с использованием одной и той же версии IE с одинаковыми настройками. Я склонен полагать, что где-то есть проблемы с конфигурацией, но при одинаковых настройках трудно сказать. Я не могу изменить то, как работает приложение или используемые технологии.
У кого-нибудь есть идеи относительно того, что может быть причиной этого?