Может ли модальный диалог JavaScript быть модальным только для вкладки, а не для всего окна браузера?

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

  •  08-07-2019
  •  | 
  •  

Вопрос

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

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

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

Решение

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

Они являются модальными для "документа", а не для браузера.

Например, взгляните на это этот плагин jQuery

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

Другие советы

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

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

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

Самих showModalDialog / showModelessDialog, как правило, следует избегать.

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

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