Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Модальное окно не блокирует всё


Автор: proger 21.1.2006, 14:40
Почему когда открыл модальное окно, в нем нажимаю на ссылку, а переход просиходит не в модальном окне а открывает в новом, как исправить, надо чтобы открывалось в томже окне!

Автор: 12345c 22.1.2006, 01:15
Оно не предназначено для навигации. Как хак можно рассматривать конструкцию из iframe в модальном окне.

Автор: proger 22.1.2006, 12:55
А кроме фрей есть другое решение???
Чтобы юзер не мог продолжить работу, пока в новом окне не выбрал значения???

Автор: dstorm81 23.1.2006, 10:56
да есто такой косячок, скорее всего это что то с безопасностью
я давно делал так
открываешь модальное окно, предварительно присвоив ему переменную
затем в модальном окне что-то делаешь, скриптом закрываешь его и возвращаешь результат в родительское окно

Автор: proger 23.1.2006, 11:19
dstorm81
Но он может продолжить работу пока не закроет твое окно, а так не должно быть!

Автор: dstorm81 23.1.2006, 13:07
вопросец такой нарисовался
там помило модал есть модалесс окно, может с ним что прокатит
а что тебе не нравится в варианте, виндов.опен а внем уже делаешь фокус, то есть имитация модального
З.Ы. мошет скажешь общую идею, что сварганить то хочешь, обмыслуем

Автор: Sardar 24.1.2006, 01:34
Цитата(dstorm81 @ 23.1.2006, 12:07 Найти цитируемый пост)
там помило модал есть модалесс окно, может с ним что прокатит

Нет, это не модально окно.

Цитата(proger @ 23.1.2006, 10:19 Найти цитируемый пост)
Но он может продолжить работу пока не закроет твое окно, а так не должно быть!

Нет не может он продолжить работу с твоей страницей, ни сыслки, ни формы не активны и клик будет приводить к фокусу на твоё модальное окно. Да может переключиться на другие страницы и проги. Если бы MS позволила какому то документу перекрыть полностью работу с компомл, половина бы их юзеров застрелилась smile

Автор: proger 24.1.2006, 14:48
Sardar
Надо не перекрыть работу с компом, а с сайтом, пока не закончит действие в окне!
dstorm81
Цитата

а что тебе не нравится в варианте, виндов.опен а внем уже делаешь фокус, то есть имитация модального

А как это сделать?

Автор: dstorm81 24.1.2006, 15:54
иш какой ушлый перецsmile
как я понял, юзер вообще на все страницы открытые в браузере,
с определенного урла доступа иметь не должен, пока от в модальном окне что-то не сделает
если это так, то это миссион импоссибле, разве только как-нить троян ему впаришь smile

а вообще поподробнее обрисуй задачу, может этому изврату можно придать человеческое лицо smile


ну а с опен имхо модальное уж лучше, однако, короче, давай свою задумку на препарирование, не забудь копирайт поставить, а то стибрим

Автор: proger 25.1.2006, 14:48
dstorm81
Надо сделать иметацию модального окна и все!

Автор: Ciber SLasH 25.1.2006, 19:15
Цитата(proger @ 25.1.2006, 14:48 Найти цитируемый пост)

Надо сделать иметацию модального окна и все!

Зачем имитировать-то ? Если можно его создать — window.showModalDialog()
Если тебя беспокоит кроссбраузерность, то делай через window.open:
Код

<script type='text/javascript'>
var wnd = window.open('', '');
wnd.document.write("<html><body onBlur='this.focus()'><a href='#' onClick='self.close(); return false'>Закрыть окно</a></body></html>");
wnd.document.close();
</script>

Автор: Sardar 25.1.2006, 21:31
Ciber SLasH насильное установление фокуса окном на себя не каждый браузер пропустит, уверен что Опера точно (и это правильно).

А вообще стоит пересмотреть логику, в современном мире редко когда действительно нужны модальные окна, ничего плохого нет если пользователь сможет редактировать несколько "обьектов" одновременно.

Автор: Ciber SLasH 26.1.2006, 00:09
Цитата(Sardar @ 25.1.2006, 21:31 Найти цитируемый пост)

Ciber SLasH насильное установление фокуса окном на себя не каждый браузер пропустит

Вобщем-то да, я не проверил в Опере.
Значит такой финт IE-only.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)