极其相关:
http://code.google.com/p/facebook-actionscript-api/issues/detail?id=256
具体:
I've discovered that popups are blocked unless triggered by a user action, e.g. a button click. So the solution to this problem is to only call Facebook.login() from a MouseEvent.CLICK handler.
但是在我的网站上,这就是我所做的,并且弹出窗口仍然被阻止:
$('#fb-login-button').click(function () {
FB.logout();
setTimeout(function() {
FB.login();
}, 2000);
});
是否是因为 FB.login()
调用是由 setTimeout() 函数调用的,而不是直接在点击处理程序中调用?
有什么建议吗?
最佳答案
是的,浏览器由于 setTimeout 调用而阻止了您的弹出窗口。
如果删除 setTimeout,它不会被阻止。
关于javascript - FB.login() 调用弹出窗口被 Google Chrome 阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12766126/