Целесообразно ли закрывать дочерние окна, если главное окно закрыто в веб-приложении? - PullRequest
3 голосов
/ 18 июня 2009

В веб-приложении иногда появляются всплывающие окна.

Целесообразно ли, когда пользователь закрывает главное окно, закрывать все дочерние всплывающие окна, если они открыты?

имейте в виду, что главное окно не останется на той же странице, пользователь может переходить на другие страницы в том же приложении (то есть, даже если вы сохраните ссылку на все открытые дочерние окна, запросы новой страницы потеряют ссылку на открытые окна и т. д.).

Ответы [ 5 ]

5 голосов
/ 18 июня 2009

Да, я думаю, что это разумный запрос.

Когда вы вызываете window.open, вы можете сохранить дескрипторы в окнах, возвращаемых из этой функции, а затем выполнить итерацию этой коллекции и вызвать close для них, когда родительское окно закроется.

2 голосов
/ 18 июня 2009

Как насчет добавления некоторого javascript в ваши всплывающие окна, который проверяет наличие родительской страницы каждые x секунд, и если он ушел, чтобы обновить содержимое с сообщением "timeout session". Я думаю, что вы должны иметь возможность использовать свойство "window.opener.closed" из всплывающего окна, чтобы проверить, что родительский объект был закрыт ... Просто мысль.

0 голосов
/ 18 июня 2009

Это какая-то помощь? Вы всегда можете попробовать передать массив, содержащий все дочерние элементы между страницами.

http://www.codeproject.com/KB/scripting/WebChildren.aspx

0 голосов
/ 18 июня 2009

Для этого могут быть причины безопасности - эти дочерние окна могут сохранять информацию о сеансе, которая должна быть уничтожена, когда пользователь выходит из главного окна. Вы не хотите подвергать пользователя опасности того, что кто-то другой может прийти и использовать его открытый браузер позже и получить доступ к его сеансу.

Но с точки зрения пользовательского интерфейса, я согласен, что это довольно непристойно. Я думаю, что это тот случай, когда это целесообразно для интранет-решения, но плохая идея для Интернета.

0 голосов
/ 18 июня 2009

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

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