Javascript 使用Jquery理解Drupal7表单中的匿名用户

Javascript 使用Jquery理解Drupal7表单中的匿名用户,javascript,jquery,drupal-7,forms-authentication,drupal-modules,Javascript,Jquery,Drupal 7,Forms Authentication,Drupal Modules,我有一个包含许多链接的网站。用户可以在新窗口中打开链接。用户可以从一个窗口注销。如果他们这样做,并点击我的网站的另一个窗口,那么我想给用户一个警告,说“请登录继续”。我的问题是:- 这在Drupal7中可能吗 是否有其他模块支持此功能 如果没有可供使用的模块,那么我的想法是在JQuery内的页面(文档)上注册一个单击事件,该事件将始终检查用户是否经过身份验证。我想知道Drupal中的哪个函数可以帮助我理解JQuery中站点的经过身份验证的用户 请分享实现此目标的任何其他选择。这不是一项容易的

我有一个包含许多链接的网站。用户可以在新窗口中打开链接。用户可以从一个窗口注销。如果他们这样做,并点击我的网站的另一个窗口,那么我想给用户一个警告,说“请登录继续”。我的问题是:-

  • 这在Drupal7中可能吗
  • 是否有其他模块支持此功能
  • 如果没有可供使用的模块,那么我的想法是在JQuery内的页面(文档)上注册一个单击事件,该事件将始终检查用户是否经过身份验证。我想知道Drupal中的哪个函数可以帮助我理解JQuery中站点的经过身份验证的用户

请分享实现此目标的任何其他选择。

这不是一项容易的任务,但我将解释我将如何做到这一点(没有太多细节):

  • 创建一个接收cookie并返回它是否表示实时会话的
  • 使用javascript事件检测用户何时离开浏览器或何时返回。当您注意到用户已返回浏览器时,对在第一步中设置的服务器执行AJAX调用。您应该提供存储在浏览器中的cookie,并期望一个布尔答案
  • 根据服务器给出的响应,用JavaScript显示一个模态对话框,显示一个登录窗体或任何您认为需要的。
    注意:此方法仅在用户使用支持可见性更改事件的浏览器时有效,并且可以绕过禁用Javascript代码执行。此外,如果浏览器不是焦点窗口,用户仍然可以看到内容(例如,有两个打开的窗口,每个窗口覆盖屏幕的一半。在焦点返回到“禁止”窗口之前,事件不会触发)。

    我不知道我是否理解您试图做的事情。如果用户打开两个窗口,即a和B,并从窗口a注销,则不会通知窗口B。用户仍将能够看到内容,但无法继续浏览页面(在下一个请求中,服务器将检测到会话不再有效)。如果windows B仍在此处打开,并且用户单击网页中的任何按钮/链接,则我的想法是向用户显示警报“请登录以继续”在将表单处理到服务器之前。对此有何看法??