0

我有一个模式,用于让用户登录或注册到我的网站。我也允许通过 Facebook 加入。

现在,当本地会话在我的网站上到期时,我不想通过 Facebook 自动登录用户,除非他们明确告诉我这样做,这意味着当他们点击触发模式的链接时我正在触发登录.

我遇到的问题是模态仍然触发(然后立即被隐藏),我想知道如果用户通过 Facebook 连接,是否有一种方法可以删除模态触发器,而不是当他们点击模态触发器它只是将它们登录。

我试过这个无济于事。

FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        $('#sidebar-auth-modal-trigger').off('click.bs.modal.data-api');
        $(document).off('click.bs.modal.data-api', '#sidebar-auth-modal-trigger');

        ...

    }
});
4

1 回答 1

1

既然您提到您正在使用他们的数据属性,请将其从您的 html 中删除。

尝试仅在您的 FB 状态是您想要的状态时触发模式,就像这样(我真的不知道您的 FB 登录状态在做什么,不是所有的代码都在那里,但这应该会让您上路):

FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
       //dont call your modal here if you dont want it

    } else {
        //call your modal
        $('#myModal').modal();
    } 

});

$('#sidebar-auth-modal-trigger').on('click', FB.getLoginStatus);

现在它只会在您的 facebook 状态是您想要的状态时调用模态,而当它不是时它不会。

于 2013-11-08T14:47:00.773 回答