Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在注销时获取并关闭与我的域匹配的浏览器选项卡_Javascript_Google Chrome_Internet Explorer 11_Microsoft Edge - Fatal编程技术网

Javascript 在注销时获取并关闭与我的域匹配的浏览器选项卡

Javascript 在注销时获取并关闭与我的域匹配的浏览器选项卡,javascript,google-chrome,internet-explorer-11,microsoft-edge,Javascript,Google Chrome,Internet Explorer 11,Microsoft Edge,我的项目有多个应用程序的单点登录,一旦登录,人们可能会单击通知电子邮件中的书签或链接,打开各种应用程序的选项卡。然而,当他们注销时,这意味着所有内容都是打开的,即使它在服务器上连接的会话已停止 分析要求,当用户点击注销时,我们能够关闭进入我们应用程序的所有浏览器选项卡。我已经告诉他们,我认为我们不能,但我非常不确定是否有人要求我研究它。毕竟,现在人们用javascript做一些疯狂的事情 因此,我的问题是,在Chrome、Edge和IE 11中,没有添加扩展,我们可以: 检测哪些窗口对我们的域开

我的项目有多个应用程序的单点登录,一旦登录,人们可能会单击通知电子邮件中的书签或链接,打开各种应用程序的选项卡。然而,当他们注销时,这意味着所有内容都是打开的,即使它在服务器上连接的会话已停止

分析要求,当用户点击注销时,我们能够关闭进入我们应用程序的所有浏览器选项卡。我已经告诉他们,我认为我们不能,但我非常不确定是否有人要求我研究它。毕竟,现在人们用javascript做一些疯狂的事情

因此,我的问题是,在Chrome、Edge和IE 11中,没有添加扩展,我们可以:

  • 检测哪些窗口对我们的域开放
  • 强行关上窗户
  • 我当然知道,我可以为从门户页面打开的每个窗口收集窗口句柄,但如上所述,我不能指望所有窗口都已被我的门户打开。

    --在注销时获取并关闭与我的域匹配的浏览器选项卡

    --检测哪些窗口对我们的域开放

    --强行关上窗户

    通过使用JavaScript,我们只能关闭代码执行window.open()的选项卡/窗口。此外,如果窗口/选项卡进行导航,则窗口句柄不再有效,您无法将其关闭。你可以查一下

    此外,我们还可以使用SeleniumWebDriver在选项卡之间循环并关闭它。但是使用这个方法,我们必须使用,和。以下是一些相关的线程,您可以参考它们:

    通常,通过SSO登录成功后,我们将获得一个访问令牌。它包含登录用户信息和访问信息,还有开始时间和过期时间。然后,使用会话或cookie存储此令牌。用户注销后,我们应该清除会话和cookie,并使令牌过期,因此下次用户单击网站时,需要再次输入用户帐户。因此,在我看来,我认为没有必要关闭相关的选项卡,您可以使用这种方法