Ошибка JavaScript при попытке открыть модальное окно в модальном окне

StackOverflow https://stackoverflow.com/questions/2646561

  •  27-09-2019
  •  | 
  •  

Вопрос

Приложение работает на коробке Windows Server 2003 с использованием 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 с одинаковыми настройками. Я склонен полагать, что есть какая-то проблема конфигурации где-то, но с помощью настроек то же самое трудно сказать. Я не могу действительно изменить, как работает приложение или используемые технологии.

У кого-нибудь есть идеи относительно того, что может заставить это?

Это было полезно?

Решение

Проблема была со всплывающим блокатором в IE на клиентской машине. Поскольку в другом модальном окне открывается модальное окно, блокировщик всплывающего окна не учитывает его частью родителя и думает, что он должен блокировать его. После добавления сайта на всплывающую блокировку все работало.

Как смешно!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top