突然,当我尝试通过 facebook 登录时,我的应用程序中发生了一件奇怪的事情。询问登录详细信息后,facebook 连接弹出对话框将显示一个空白屏幕。通常我希望看到窗口关闭,然后网站本身会继续运行,但它似乎已经挂起。
我在用Javascript SDK on Localhost
这是我正在使用的代码(直接从 facebook 文档复制):
window.fbAsyncInit = function () {
FB.init({ appId: fbAppId,
status: false,
cookie: true,
xfbml: true
});
};
(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";
ref.parentNode.insertBefore(js, ref);
} (document));
$(document).ready(function () {
$("#fb_button_login").click(function () {
FB.login(function (response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function (response) {
console.log('Good to see you, ' + response.name + '.');
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
});
});
});
其他一些注意事项:
- 这似乎发生在所有浏览器上。
- 我研究了所有其他帖子,但似乎找不到适合我的解决方案
- 控制台中没有显示错误消息
- 开发时,我使用了一个单独的 FB 应用程序 ID,我专门为 localhost 设置了我正在使用的指定端口(已经运行了超过 12 个月)
- 我没有启用沙盒模式
它似乎挂起的 URL 在这里
多谢你们。