假设用户在许多不同的浏览器窗口中打开了我的web应用程序。一段时间后,他被超时/从应用程序注销。
我想关闭所有相关的浏览器窗口。我们该怎么处理呢?
(我认为GMAIL做到了这一点)
发布于 2008-12-08 19:37:00
如果您维护对任何子窗口的引用,则可以将window.close()与setTimeout()结合使用。
需要注意的是,在关闭用户窗口时可能需要小心,因为这可能会导致糟糕的用户体验。想象一下,我打开了我的银行网站,查看一个帐户的交易,这样我就可以对它们进行清算/对帐。但是在中途我跑去吃午饭或者别的什么。当我回来时,我发现我所有的窗口都被关闭了,我必须重新登录,尽管我不需要重新登录,因为我只是在查看相对静态的数据列表。或者更糟糕的是,如果关闭窗口的代码不正确,我可能会发现我的浏览器已经完全关闭,这绝对是一种糟糕的体验。
发布于 2008-12-08 20:59:36
就普通用户而言,你的网站没有权利关闭用户的窗口,如果你这样做了,他们会讨厌你的网站。如果你认为你的网站的正确运行依赖于能够关闭用户的浏览器,那么你就错了。
此外,您不能指望关闭用户窗口或执行类似操作的尝试会成功。所以,无论用户在浏览器中做什么,都要花时间让你的网站正常工作。此外,这样做更容易。
发布于 2008-12-08 18:27:56
编写一个脚本,当焦点被带到窗口(对于您的应用程序)时,它会检查会话是否仍然有效。如果不是,则发送关闭窗口的命令。
https://stackoverflow.com/questions/350372
复制相似问题