由于某种原因,今天我为现有成员自动登录的代码坏了。通常这段代码工作得很好,在检查了萤火虫后,我发现由于某种原因找不到“auth.login”,因此调用了 window.location.reload(); 不工作。(如果我手动刷新然后成员显示为正确连接,问题只是在会话打开之前自动登录需要刷新页面)我还尝试查看问题是否只是“auto.login”并将其替换为'auth.authResponseChange' 当我这样做时,页面不断刷新......所以我认为问题出在'auth.login' 触发器上。有没有人知道出于特殊原因或 Facebook 所做的任何更改可能导致此问题?
*更新* BUG 已解决!这个问题已经被脸书解决了。
此错误已报告并由 facebook 在这里回答-
https://developers.facebook.com/bugs/524245490930206?browse=search_50f87d9e8869a5e06191882#
顺便说一句,这是一个再次工作的代码:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '<?php =$APP_ID ?>',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
// Additional initialization code here
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>