Может ли модальное диалоговое окно JavaScript быть модальным только для вкладки, а не для всего окна браузера? - PullRequest
6 голосов
/ 13 ноября 2008

Современные браузеры имеют интерфейс с несколькими вкладками, но функция JavaScript window.showModalDialog() создает модальное диалоговое окно, которое блокирует все вкладок.

Я хотел бы знать, есть ли способ создать модальное диалоговое окно, которое блокирует только вкладку, в которой он был создан?

Ответы [ 3 ]

8 голосов
/ 13 ноября 2008

Вы можете использовать один из более «модальных» Ajax-подобных диалоговых окон, которые являются просто позиционированными дивами, плавающими поверх всего остального.

Это модальные «документы», а не браузер.

Например, посмотрите этот плагин jQuery

P.S. showModalDialog() - это вызов только для IE, поэтому вы можете не использовать его вообще.

2 голосов
/ 13 ноября 2008

Неа. Возможно, что в какой-то момент «слабая связь» в IE8 может вести себя так, но в текущих бета-версиях это не так.

Я вторая рекомендация Мишель. Псевдомодальный диалог, работающий путем маскировки остальной части страницы, размещения плавающего элемента в верхней части и вызова сценария обратно, когда он закончен, - это:

  • гораздо более удобный / менее раздражающий, чем настоящий модальный диалог
  • совместим с любым браузером

Сами showModalDialog / showModelessDialog обычно следует избегать.

1 голос
/ 31 января 2009

Firefox 3 поддерживает window.showModalDialog (но также блокирует все вкладки).

...