Закройте все всплывающие диалоги, когда главное окно закрыто в ASP.NET - PullRequest
0 голосов
/ 22 декабря 2009

В моем веб-приложении много всплывающих окон открываются из родительского окна с помощью window.open. Поэтому я хочу закрыть все эти всплывающие окна, когда главное окно моего приложения закрыто. Как я могу это сделать?

Ответы [ 3 ]

1 голос
/ 22 декабря 2009

Немного проблематично узнать, что пользователь закрывает окно, но при условии, что вы достигли этого (с помощью кнопки закрытия или подписки на событие beforeUnload), вы можете закрыть открытые окна, следуя следующим пунктам:

  1. При открытии окна сохраните его объект, который возвращается из window.open метод (предпочтительно до массив, так что у вас есть все объекты в центральное место).
  2. Когда вы обнаружите, что главное окно закрытие, выполните метод close на сохраненные объекты окна.

Другая возможность:

  1. Использовать таймер в открытых окнах для проверьте, определено ли opener можно попробовать использовать typeof на методе в открывающая страница).
  2. Когда вы узнаете, что нож не существует, закройте окно.
0 голосов
/ 22 декабря 2009

это невозможно! Вы не можете перехватить событие закрытия браузера.

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

0 голосов
/ 22 декабря 2009

Нет callback, который бы уведомил вас о том, что пользователь закрыл свой браузер.

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