0

我正在花式框中加载登录表单。如果用户在两个浏览器选项卡中打开站点,并在第一个选项卡中登录,然后单击第二个选项卡中的登录链接,我想避免在第二个选项卡中打开fancybox,因为页面将重定向到用户配置文件,并且在花式框内看起来不太好。所以我在 onStart 设置中有一个 AJAX 回调来检查用户是否经过身份验证。如果用户已经通过身份验证,我想取消 fancybox 并将父级引导到另一个页面(例如用户配置文件)。

这是我目前的 onStart 代码:

'onStart': function(opener) { 
   if ($(opener).attr('id') == 'login') {
     $.get('/hicommon/authenticated', function(data) { 
        if ('yes' == data) {
          console.log('this user must have already authenticated in another browser tab, SO I want to avoid opening the fancybox.');
          return false;
        } else {
          console.log('the user is not authenticated');
          return true;
        }
     }); 
   }
},

这不会阻止为经过身份验证的用户打开 fancybox,大概是因为我在 AJAX 回调中返回 false,而不是在 onStart 函数的范围内。有什么方法可以取消该 AJAX 回调中的幻想框,或者将某些内容传递给 onStart 函数的范围?谢谢

4

0 回答 0