Session 对于web应用程序,如何在会话超时/用户注销时关闭所有相关的浏览器窗口?

Session 对于web应用程序,如何在会话超时/用户注销时关闭所有相关的浏览器窗口?,session,browser,timeout,Session,Browser,Timeout,假设用户在许多不同的浏览器窗口中打开了我的web应用程序。一段时间后,他被超时/退出应用程序 我想关闭所有相关的浏览器窗口。我们如何处理这件事 (我认为GMAIL可以做到这一点)写一个便签,当焦点被带到窗口时(对于您的应用程序),它会检查会话是否仍然有效。如果不是,则发送命令关闭窗口。如果维护对任何子窗口的引用,则可以与结合使用 需要注意的是,关闭用户窗口时可能需要小心,因为这可能会导致糟糕的用户体验。想象一下,我已经打开了银行网站,查看某个账户的交易,这样我就可以清算/核对这些交易。但在中间,

假设用户在许多不同的浏览器窗口中打开了我的web应用程序。一段时间后,他被超时/退出应用程序

我想关闭所有相关的浏览器窗口。我们如何处理这件事


(我认为GMAIL可以做到这一点)

写一个便签,当焦点被带到窗口时(对于您的应用程序),它会检查会话是否仍然有效。如果不是,则发送命令关闭窗口。

如果维护对任何子窗口的引用,则可以与结合使用


需要注意的是,关闭用户窗口时可能需要小心,因为这可能会导致糟糕的用户体验。想象一下,我已经打开了银行网站,查看某个账户的交易,这样我就可以清算/核对这些交易。但在中间,我跑着去吃午饭或者别的什么。当我回来时,我发现我的所有窗口都已关闭,我必须重新登录,尽管我不需要,因为我只是查看一个相对静态的数据列表。甚至更糟糕的是,如果窗口关闭编码不正确,我可能会发现我的浏览器已经完全关闭,这绝对是一种糟糕的体验。

不要这样做。就典型用户而言,您的网站无权关闭用户的窗口,如果您尝试,他们会讨厌您的网站。如果您认为网站的正常运行取决于能否关闭用户的浏览器,那么您就错了


此外,您无法指望关闭用户窗口或执行类似操作的成功。因此,无论用户在浏览器中做什么,都要花时间让网站正常工作。此外,这样做更容易。

我同意在大多数情况下(即公共web应用程序)都是这样。然而,我们不知道OP的背景。如果他/她有一个客户,比如说,他们的内部web应用程序需要这样做,那么必须以某种方式完成,除非客户能够被说服。好的一点——我假设在没有相反信息的情况下使用公共web应用程序。对于一个内部网络应用程序,我至少会建议赞助商,这是一个坏主意,可能会带来后果