FB.api('/me', function(response) {
// this is async
//other logic goes here
window.open(mylink + response.name);
}
异步问题使我无法进行过程编程风格,所以我将代码放在 block 内,它被弹出窗口拦截器阻止了。如何解决这个问题?我用谷歌搜索,人们说它可以使 async false。
最佳答案
您无法在异步回调函数中打开弹出窗口,您始终必须在用户交互时直接打开它。这是一项重要的浏览器功能,可以保护用户免受不需要的弹出窗口的影响。
您绝对必须在用户点击之前调用 FB.api。初始化 JavaScript SDK 后立即调用 FB.api('/me')
并将其存储在变量中以供以后使用应该没有问题。
关于javascript - FB.api 响应回调异步弹出窗口被阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25636316/