Javascript FB.login()不调用回调
我有JS SDK中Facebook登录按钮的简单代码,我在其中添加了Google Analytics代码,以查看有多少成功登录:Javascript FB.login()不调用回调,javascript,facebook,facebook-graph-api,Javascript,Facebook,Facebook Graph Api,我有JS SDK中Facebook登录按钮的简单代码,我在其中添加了Google Analytics代码,以查看有多少成功登录: ga('send', 'event', 'a login', 'x', 'null'); FB.login(function(resp) { ga('send', 'event', 'a login callback', 'x', 'null'); if (resp.authResponse) { testAPI(true, 1);
ga('send', 'event', 'a login', 'x', 'null');
FB.login(function(resp) {
ga('send', 'event', 'a login callback', 'x', 'null');
if (resp.authResponse) {
testAPI(true, 1);
} else {
alert('Must be logged in with Facebook account!');
}
}, {scope: 'public_profile,user_photos'});
结果令人惊讶:
1. a login x 384 16.28%
2. a login callback x 361 15.31%
基本上有23次(即384-361次)没有调用回调函数。这种情况将影响所有后续的JSAPI调用。我没有在这里发布完整代码,但结果如下:
1. a login x 441 15.96%
2. a login callback x 421 15.23%
3. b testAPI 1 x 395 14.29%
4. b testAPI callback x 384 13.89%
因此,在对FBAPI的testAPI函数调用中,有11次回调函数未被调用。这使得实际完成流程的用户总数从441(按下按钮)增加到384。当然,有些用户没有授权该应用程序,因此可能会有轻微的下降,但丢失的回拨电话对我来说似乎并不合适
还有其他人经历过这种情况吗?你验证过用户不是简单地关闭你的页面吗?没有,也许我应该这样做。不过,说真的,如果你在if/else块的两个分支中都记录了一些东西,并且发现一些东西丢失了,那么可以合理地假设两个分支都没有被触发,如果在返回之前完全停止执行,会发生什么情况(如果窗口关闭,会发生什么情况)好的,请写一个答案,这样我就可以接受了