如何检测用户是否已切换Rails 3

时间:2011-11-03 11:07:40

标签: ruby-on-rails-3

用户在浏览器的标签页中登录我的应用程序

他们收到一封电子邮件并点击一个链接,该链接会在同一个浏览器中打开一个新标签,然后根据不同的电子邮件将其记录下来。

如果他们返回第一个标签,则他们不再是同一个用户,我希望页面自动检测到这个,然后重新加载或重定向,如果他们未经授权查看该页面。

无论如何要做到这一点?

2 个答案:

答案 0 :(得分:0)

如@Hck所述: 定期添加javascript代码重新加载页面(例如每30秒一次) - Hck

JavaScript几乎是让页面在加载后执行操作的唯一方法。请注意,在几乎任何用户身份验证系统中,给定的浏览器一次只能以一个用户身份登录,因此只要第二个选项卡打开,该浏览器就会充当第二个用户 - 他们仍然可以看到当前第一个选项卡的内容,但链接(例如)将不再有效,除非第二个用户也被授权使用它们。 有一些JQuery插件可以执行此类操作,例如PeriodicalUpdater,或者您可以编写自己的(an example)。

答案 1 :(得分:0)

或者,如果您真的想知道用户何时切换选项卡,请尝试使用此库:

visibility.js