Всплывающее окно, похожее на модальное окно - PullRequest
2 голосов
/ 20 сентября 2008

Мне нужно открыть всплывающее окно для междоменного контента. Я не должен позволять пользователю получать доступ или закрывать родительское окно, пока я не закончу с дочерним окном.

Основная проблема модального окна заключается в том, что он останавливает любой асинхронный процесс, выполняющийся в главном окне. Например, таймеры и автообновление не будут работать в родительском окне.

Есть ли какой-нибудь идеальный способ сделать вышесказанное.

Заранее спасибо

Ответы [ 6 ]

2 голосов
/ 20 сентября 2008

Как насчет того, чтобы вместо того, чтобы открывать фактическое окно, вы просто открываете псевдоокно ... это div с некоторыми границами, делаете его перетаскиваемым, если хотите, и помещаете большой полупрозрачный div, который покрывает остальные страницы и блокирует ее нажатие. По сути дела, что-то вроде Lightbox работает

1 голос
/ 20 сентября 2008

Вы можете использовать поддельное окно, построенное с помощью JavaScript. Несколько библиотек виджетов поддерживают это. Например, см. ExtJS , который также поддерживает модальные окна, но это может быть излишним для вашего приложения. Для jQuery просмотрите плагины , например this

0 голосов
/ 08 апреля 2009

Проверьте плагин Jquery в "BlockUI". Когда вызывается BlockUI, родительское окно недоступно. Вы можете сделать то, что вы хотите на модальном, затем вызвать «UnblockUI», чтобы закрыть всплывающее окно и снова передать родительский контроль.

Пит

0 голосов
/ 21 сентября 2008

Я чувствую, что приведенные выше ответы не подходят по следующим причинам.

Решение JasonS - Приложение разработано на основе технологий J2EE.

Другое решение - часть URL-адреса, запущенного в дочернем окне, будет связываться с родительским окном через стандартные API Если я использую div или другие встроенные окна плагинов, то эти javascript API не будут работать.

0 голосов
/ 20 сентября 2008

В дополнение к тому, что сказали Давр и Торианн, вам, вероятно, потребуется совершить Ajax-вызов, чтобы получить контент. Поскольку вызовы Ajax через браузер применяют политику того же домена, вам нужно будет выполнить вызов Ajax на свой OWN-сервер, который, в свою очередь, должен будет выполнить запрос сервера-сервера xmlhttp, чтобы захватить контент сторонней организации. сервер.

0 голосов
/ 20 сентября 2008

Я думаю, что Telerik имеет контроль для этого, если вы работаете на ASP.Net. Использует div в своей реализации, как предложено @Davr. Модальные окна в любом случае являются плохим вариантом, поскольку они поддерживаются не во всех браузерах.

...