我在网络应用程序中使用简单的facebook登录菜谱。如果firefox将privacy.trackingprotection.enabled设置设置为true,则会发生以下情况:
如果关闭窗口,我会获得对回调的控制权,但登录被视为不成功。
如果没有启用跟踪保护,它就会正常工作(即流程不会停止。
有没有办法在"跟踪保护安全"中使用Facebook登录?模式?
我的代码的重要部分:
window.fbAsyncInit = function() {
FB.init({
appId : '<my app id>',
cookie : true, // enable cookies to allow the server to access
// the session
xfbml : true, // parse social plugins on this page
version : 'v2.2' // use version 2.2
});
};
(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/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function FaceBook(pageScript) {
this.pageScript = pageScript;
this.doc = document;
this.loggedIn = false;
}
FaceBook.prototype.loginCallBack = function(response) {
var self = this;
if (response.status === 'connected') {
self.loggedIn = response;
self.pageScript.login_with_facebook(response.authResponse.userID, response.authResponse.accessToken)
} else {
self.doc.getElementById('message').innerHTML = 'Facebook login is unsuccessful'
}
}
FaceBook.prototype.fblogin = function() {
var self = this;
if (! self.loggedIn ) {
FB.login(function(response) {
self.loginCallBack(response);
});
}
}