Получить и закрыть вкладки браузера, которые соответствуют моему домену при выходе - PullRequest
0 голосов
/ 13 февраля 2020

Мой проект имеет единый вход в несколько приложений, и после входа в систему люди могут щелкать закладки или ссылки в уведомлениях по электронной почте, чтобы открывать вкладки для наших различных приложений dry. ОДНАКО, когда они выходят из системы, это означает, что все эти материалы открыты, даже если сеанс, к которому он подключается, на сервере мертв.

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

Так что мои вопросы, в Chrome, Edge и IE 11 и без добавления расширений, могут мы:

  1. Определить, что windows открыто для нашего домена?
  2. Закрыть сказал принудительно windows?

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

1 Ответ

0 голосов
/ 14 февраля 2020

- Получить и закрыть вкладки браузера, которые соответствуют моему домену при выходе из системы

- Определить, что windows открыто для нашего домена?

- Принудительно закрыть windows принудительно?

Используя JavaScript, мы могли только закрыть вкладку / окно, в котором ваш код выполнял window.open (). также, если окно / вкладка перемещается, дескриптор окна больше не действителен, и вы не можете закрыть его. Вы можете проверить эту ветку .

Кроме того, мы также можем использовать селеновый веб-драйвер для l oop через вкладки и закрыть его. Но используя этот метод, мы должны использовать Edge webdriver , Inte rnet Explorer webdriver и Chrome WebDriver . Вот некоторые связанные темы, вы можете обратиться к ним:

Есть ли способ закрыть вкладку в WebDriver или Protractor?

Python и Selenium - закройте все вкладки, не закрывая браузер

Как правило, после успешного входа в систему через SSO, мы получим токен доступа. Он содержит информацию о пользователе для входа в систему и информацию о доступе, а также имеет время начала и время истечения. Затем используйте сеанс или готовьте ie для хранения этого токена. После выхода пользователя из системы мы должны очистить сеанс и приготовить ie, а срок действия токена истек, поэтому в следующий раз, когда пользователь нажимает на веб-сайт, необходимо снова ввести учетную запись пользователя. Так что, на мой взгляд, я думаю, что нет необходимости закрывать соответствующие вкладки, вы можете использовать этот метод.

...