如果所有标签都关闭,请退出

时间:2011-11-07 12:34:23

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

我有一个应用程序,用户和会话模型。用户登录时会创建新会话。如果用户注销或关闭浏览器,则会破坏会话。但是如果用户使用我的应用关闭所有标签,我想添加销毁会话。是否有可能从头开始?如果没有我应该使用的东西?

提前致谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

对我来说最明显的方法是使用浏览器的onbeforeunload方法,然后向服务器发送一些东西来清除会话。

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