Facebook登录不仅适用于Firefox

时间:2017-09-04 21:15:08

标签: javascript facebook-login

我在我的网站上使用Facebook登录,直到我收到一些关于它在Firefox上无法正常工作的问题。我正在使用Firefox 55.0.3(64位)进行测试。

为了正确调试,我创建了一个新的空白索引页面,如下所示:

<script>
    window.fbAsyncInit = function () {
        FB.init({
            appId: 'mypersonalID',
            cookie: true,
            xfbml: true,
            version: 'v2.8'
        });
        FB.AppEvents.logPageView();
    };

    (function (d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) { return; }
        js = d.createElement(s); js.id = id;
        js.src = "//connect.facebook.net/pt_BR/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    function myClick() {
        console.log('click');
        FB.getLoginStatus(function (response) {
            console.log(response);
        });
    }
</script>

<button onclick="myClick()">Debug</button>

在Chrome,Edge,Explorer等上进行测试时。控制台正常打印,但是,在Firefox上,我只看到控制台click,但从来没有Facebook事件的响应,我也是完全没有错误。

我不知道会发生什么,但这对Firefox不起作用。

如果我调用FB.login()弹出窗口,但是在取消或确认登录时,视图只会变为白色并且永远不会关闭或返回承诺。

编辑:我尝试在Firefox专用模式下运行它,现在我可以看到此错误:

  

http://connect.facebook.net/en_US/sdk.js”的功能已被阻止,因为已启用跟踪保护。

仍然不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

这是Firefox独有的功能。您可以在此处找到有关如何在私人模式下禁用此功能的信息:

https://blog.mozilla.org/futurereleases/2015/09/23/help-test-private-browsing-with-tracking-protection-in-firefox-beta/

您还可以阅读有关Firefox跟踪保护及其如何破坏网站的更多信息:

https://developer.mozilla.org/en-US/Firefox/Privacy/Tracking_Protection