2008-09-19 4 views
2

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

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

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

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

ответ

2

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

0

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

1

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

0

В дополнение к тому, что сказал Давр и Торианн, вам, скорее всего, понадобится сделать вызов Ajax для захвата содержимого. Поскольку Ajax вызывается через браузер, применяя политику одного домена, вам необходимо сделать вызов Ajax на ваш СОБСТВЕННЫЙ сервер, который в свою очередь должен будет сделать запрос xmlhttp с сервером на сервер, чтобы захватить контент сторонним сервер.

0

Я чувствую вышеуказанные ответы обыкновение соответствовать по следующим причинам ..

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

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

0

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

Pete

Смежные вопросы