【问题标题】:log out if all tabs closed如果所有选项卡都关闭,则注销
【发布时间】:2011-11-07 20:43:26
【问题描述】:

我有一个应用程序,以及那里的用户和会话模型。新会话在用户登录时创建。如果用户注销或关闭浏览器,会话会销毁。但是如果用户使用我的应用程序关闭所有选项卡,我想添加破坏会​​话。有可能从头开始吗?如果没有我应该使用什么?

提前致谢

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 session


    【解决方案1】:

    您需要使用 window.name,这里有一些解决方案可以在不同的选项卡中控制您的应用程序:Multiple Tabs

    【讨论】:

      【解决方案2】:

      会话变量是服务器端的,而标签关闭是客户端的操作,因此您必须以某种方式向服务器发送信号以清除这些会话变量。

      对我来说最明显的方法是使用浏览器的 onbeforeunload 方法并以ajax方式向服务器发送一些内容以清除会话。

      现在您必须找到一种方法来检测您网站的所有选项卡都已关闭。因为,如果我在两个选项卡中打开您的站点,此技术将在一个选项卡关闭时清除会话,呈现另一个标签没用(不是没用,只是地毯可能已经从这个页面下拉出来了,现在会话已经消失了)

      【讨论】:

      • @Pavel : 你有没有找到一种方法来检测你网站的所有标签何时关闭?
      猜你喜欢
      • 2013-08-02
      • 1970-01-01
      • 2017-12-31
      • 1970-01-01
      • 2017-12-08
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多