Я знаю, что это сообщение устарело, но мне недавно пришлось решать ту же проблему, и я подумал, что кто-то еще может столкнуться с этим сообщением в поисках ответа.
Ответы, приведенные выше, отличные, но они не дают хорошего ответа на исходный вопрос, который на самом деле был не «Как проверить, находится ли страница в теневом ящике?», А «Как избежать загрузки страницы в shadowbox и затем загрузка снова после закрытия shadowbox? "
Вот что я сделал:
Код, который проверяет, что активный сеанс перенаправляется на страницу выхода, которая очищает все оставшиеся значения сеанса и отправляет пользователя на страницу входа. Я добавил следующий код на страницу выхода из системы в функции загрузки:
if (window.parent) {
window.parent.location.replace('your-login-url');
} else {
window.location.replace('your-login-url');
}
Теперь, когда вызывается страница выхода из системы, она очищает теневую коробку, прежде чем браузер получит какой-либо вид страницы входа. Работает отлично. Надеюсь, это кому-нибудь поможет.