我在我的网站上使用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”的功能已被阻止,因为已启用跟踪保护。
仍然不知道如何解决这个问题。
答案 0 :(得分:2)
这是Firefox独有的功能。您可以在此处找到有关如何在私人模式下禁用此功能的信息:
您还可以阅读有关Firefox跟踪保护及其如何破坏网站的更多信息:
https://developer.mozilla.org/en-US/Firefox/Privacy/Tracking_Protection